FUSIONI...RY-AGENT(1)

πŸ“¦
version 2.6 Β· 2 versions
, in fedora 43

πŸ’– fusioninventory-agent πŸ’–

okay bestie, welcome to the fusioninventory-agent page β€” that's from the User Contributed Perl Documentation, and it's the manual for the FusionInventory agent on Linux/UNIX, Windows and MacOSX. sit down, grab a boba, we're doing this. πŸ§‹βœ¨


✨ NAME ✨

fusioninventory-agent β€” the FusionInventory agent, for Linux/UNIX, Windows and MacOSX. it's giving cross-platform icon behaviour, no cap. πŸ‘‘


🌸 SYNOPSIS 🌸

fusioninventory-agent [options] [--server server|--local path]

so like, you run it with some options, and then you point it at a server or a local path. that's the whole vibe. now let's get into the menu, because there is so much here and it's all important 🫢

Target definition options:
  -s --server=URI                send tasks result to a server
  -l --local=PATH                write tasks results locally

Target scheduling options:
  --delaytime=LIMIT              maximum delay before first target,
                                   in seconds (3600). It also defines the
                                   maximum delay on network error. Delay on
                                   network error starts from 60, is doubled at
                                   each new failed attempt until reaching max
  --lazy                         do not contact the target before
                                 next scheduled time
  --set-forcerun                 set persistent state 'forcerun' option so a run
                                 will be started immediately during a start or init

Task selection options:
  --list-tasks                   list available tasks and exit
  --no-task=TASK[,TASK]...       do not run given task
  --tasks=TASK1[,TASK]...[,...]  run given tasks in given order

Inventory task specific options:
  --no-category=CATEGORY         do not list given category items
  --scan-homedirs                scan user home directories (false)
  --scan-profiles                scan user profiles (false)
  --html                         save the inventory as HTML (false)
  -f --force                     always send data to server (false)
  --backend-collect-timeout=TIME timeout for inventory modules
                                   execution (30)
  --additional-content=FILE      additional inventory content file

Package deployment task specific options:
  --no-p2p                       do not use peer to peer to download
                                   files (false)

Network options:
  -P --proxy=PROXY               proxy address
  -u --user=USER                 user name for server authentication
  -p --password=PASSWORD         password for server authentication
  --ca-cert-dir=DIRECTORY        CA certificates directory
  --ca-cert-file=FILE            CA certificates file
  --no-ssl-check                 do not check server SSL certificate
                                   (false)
  -C --no-compression            do not compress communication with server
                                   (false)
  --timeout=TIME                 connection timeout, in seconds (180)

Web interface options:
  --no-httpd                     disable embedded web server (false)
  --httpd-ip=IP                  network interface to listen to (all)
  --httpd-port=PORT              network port to listen to (62354)
  --httpd-trust=IP               trust requests without authentication
                                   token (false)
  --listen                       enable listener target if no local or
                                 server target is defined

Logging options:
  --logger=BACKEND               logger backend (stderr)
  --logfile=FILE                 log file
  --logfile-maxsize=SIZE         maximum size of the log file in MB (0)
  --logfacility=FACILITY         syslog facility (LOG_USER)
  --color                        use color in the console (false)

Configuration options:
  --config=BACKEND                   configuration backend
  --conf-file=FILE                   configuration file
  --conf-reload-interval=<SECONDS>   number of seconds between two
                                       configuration reloadings

Execution mode options:
  -w --wait=LIMIT                maximum delay before execution,
                                   in seconds
  -d --daemon                    run the agent as a daemon (false)
  --no-fork                      don't fork in background (false)
  -t --tag=TAG                   add given tag to inventory results
  --debug                        debug mode (false)
  --setup                        print the agent setup directories
                                   and exit
  --version                      print the version and exit
  --no-win32-ole-workaround      [win32 only] disable win32 work-around
                                   used to better handle Win32::OLE apis.
                                   !!! Use it at your own risk as you may
                                   experiment perl crash under win32 !!!

like. look at all of that. it's a whole mood board. 🌈


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so the tea: fusioninventory-agent is a generic multi-platform agent. generic here is not a read β€” it means it does everything.

it can perform a large array of management tasks, bestie. we're talking:

  • local inventory
  • software deployment
  • network discovery

and it can be used either standalone, or in combination with a compatible server β€” OCS, GLPI, OTRS β€” which acts as a centralized control point. so you can let it do its own thing, or you can have a server being the main character and bossing it around. both are valid. πŸ’…

no cap, this thing is doing the most, and honestly? we love that for it. πŸŽ€

okay there's more coming, we're not done, hold on bestie πŸ’œ

✨ OPTIONS ✨

okay bestie, here's the thing about these options: most of them come in a short form and a long form, and they're literally the same thing. like, look at these two lines, they do the exact same job:

% fusioninventory-agent -s localhost
% fusioninventory-agent --server localhost

same energy, different outfit. πŸ’…


🎯 Target definition options

  • -s, --server=URI β€” send the results of tasks execution to the given server.

If the URI doesn't start with http:// or https://, the agent just assumes you meant a hostname and rewrites it like this:

% --server=http://example/plugins/fusioninventory

In general, OCS Inventory server URLs have this format:

http://example/ocsinventory

and FusionInventory for GLPI uses this one:

http://example/glpi/plugins/fusioninventory/front/plugin_fusioninventory.communication.php

You can specify multiple values, using a comma as a separator. πŸ“

  • -l, --local=PATH β€” write the results of tasks execution locally.

The exact behaviour depends on the path you give it:

  • if PATH is a directory, a file will be created therein
  • if PATH is a file, it will be used directly
  • if PATH is -, STDOUT will be used

Multiple values can be specified, using a comma as a separator. πŸŽ€


⏰ Target scheduling options

  • --delaytime=LIMIT β€” set an initial delay before the first target, whose value is computed randomly between LIMIT / 2 and LIMIT seconds. This setting is ignored for server targets after the initial contact, in favor of server-specified parameter (PROLOG_FREQ).
  • --lazy β€” do not contact the target before next scheduled time.

This option is only available when the agent is not run as a server.


πŸ“‹ Task selection options

  • --list-tasks β€” list all available tasks, tasks planned for execution, and exit.
  • --no-task=TASK β€” do not run the given task.

Multiple values can be specified, using a comma as a separator. See option --list-tasks for the list of available tasks.

  • --tasks=TASK β€” run the given tasks in the given order.

Multiple tasks can be specified, using a comma as a separator. A task can be specified several times. If ... is given as the last element, all other available tasks are executed.

See option --list-tasks for the list of available tasks.

Examples:

  • --tasks=inventory,deploy,inventory First task executed is inventory, second task is deploy, third and last task is inventory.
  • --tasks=inventory,deploy,... First executed task is inventory, second task is deploy, and then all other available tasks are executed.

πŸ” Inventory task specific options

  • --no-category=CATEGORY β€” do not list the given category's items in inventory.

Multiple values can be specified, using a comma as a separator. The available categories are:

  • battery
  • controller
  • cpu
  • drive
  • environment
  • input
  • license
  • local_group
  • local_user
  • lvm
  • memory
  • modem
  • monitor
  • network
  • printer
  • process
  • slot
  • software
  • sound
  • storage
  • usb
  • user
  • video
  • virtualmachine
  • --scan-homedirs β€” allow the agent to scan home directories for virtual machines.
  • --scan-profiles β€” allow the agent to scan user profiles for software.
  • --html β€” save the inventory as HTML.

This is only used for local inventories.

  • -f, --force β€” send an inventory to the server, even if this last one doesn't ask for it. bold move, honestly.
  • --backend-collect-timeout=TIME β€” timeout for inventory modules execution.
  • --additional-content=FILE β€” additional inventory content file.

This file should be an XML file, using the same syntax as the one produced by the agent.


πŸ“¦ Package deployment task specific options

  • --no-p2p β€” do not use peer to peer to download files.

πŸ–₯️ Server target specific options

  • -P, --proxy=PROXY β€” use PROXY as HTTP proxy.

By default, the agent uses the HTTP_PROXY environment variable.

  • -u USER, --user=USER β€” use USER for server authentication.
  • -p, --password=PASSWORD β€” use PASSWORD for server authentication.
  • --ca-cert-dir=DIRECTORY β€” CA certificates directory.
  • --ca-cert-file=FILE β€” CA certificates file.
  • --no-ssl-check β€” do not check server SSL certificate.
bestie. this is the "trust me bro" option. it does what it says and what it says is that the SSL cert goes unchecked. πŸ’€
  • --timeout=TIME β€” timeout for server connections.

🌐 Web interface options

  • --no-httpd β€” disable the embedded web server.
  • --httpd-ip=IP β€” the network interface to use for the embedded web server (all).
  • --httpd-port=PORT β€” the network port to use for the embedded web server (62354).
  • --httpd-trust=IP β€” trust requests from given addresses without authentication token (false).

For example: "192.168.0.0/24", "192.168.168.0.5" or an IP range like "20.34.101.207 - 201.3.9.99". Hostnames are also accepted. See Net::IP documentation to get more examples.

Multiple values can be specified, using a comma as a separator.

  • --listen β€” this option should be used if no local or server target is defined and the agent still needs to answer http requests. --no-httpd should not be set, and --httpd-trust should be set to enable trusted remote clients. 🫢

πŸ“ Logging options

  • --logger=BACKEND β€” logger backend to use.

Multiple values can be specified, using a comma as a separator. The available backends are:

  • stderr: log messages directly in the console.
  • file: log messages in a file.
  • syslog: log messages through the local syslog server.

Multiple values can be specified, using a comma as a separator. (yes, it says it twice. iconic of it, honestly. πŸ‘‘)

  • --logfile=FILE β€” log message in FILE (implies File logger backend).
  • --logfile-maxsize=SIZE β€” max logfile size in MB, default is unlimited. When the max size is reached, the file is truncated. This is only useful if there is no log rotation mechanism on the system.
  • --logfacility=FACILITY β€” syslog facility to use (default LOG_USER).
  • --color β€” display color on the terminal, when the Stderr backend is used.

This options is ignored on Windows.


βš™οΈ Configuration options

  • --config=BACKEND β€” configuration backend to use.

The available backends are:

  • file: read configuration from a file (default anywhere else as Windows).
  • registry: read configuration from the registry (default on Windows).
  • none: don't read any configuration.
  • --conf-file=FILE β€” use FILE as configuration file (implies file configuration backend).
  • --conf-reload-interval=SECONDS β€” SECONDS is the number of seconds between two configuration reloadings. Default value is 0, which means that configuration is never reloaded. Minimum value is 60. If the given value is less than this minimum, it is set to this minimum. If the given value is less than 0, it is set to 0.

πŸƒ Execution mode options

  • -w LIMIT, --wait=LIMIT β€” wait a random delay whose value is computed randomly between 0 and LIMIT seconds, before execution. This is useful when execution is triggered from some kind of system scheduling on multiple clients, to spread the server load.
  • -d, --daemon β€” run the agent as a daemon.
  • --no-fork β€” don't fork in background.

This is only useful when running as a daemon.

  • --pidfile[=FILE] β€” store pid in FILE or in the default PID file.

This is only useful when running as a daemon and still not managed with a system service manager like systemd.

  • --tag=TAG β€” add the given tag to every inventory results.
  • --debug β€” turn the debug mode on. You can use the parameter up to 3 times in a row to increase the verbosity (e.g: --debug --debug).

Level 3 turns on the debug mode of some external libraries like Net::SSLeay. These messages will only be be printed on STDERR.

  • --setup β€” print the agent setup directories and exit.
  • --version β€” print the version and exit.

and that's a wrap on the options, bestie!! 🌈 that's the whole page, we ate and left no crumbs ✨ this lil' number comes to you courtesy of perl v5.42.0, dated 2025-07-23, and it lives under the name FUSIONI...RY-AGENT(1) in the User Contributed Perl Documentation section of your friendly neighbourhood manual. go forth and inventory responsibly. πŸ’–πŸ¦‹πŸŽ€

πŸ“¦ where this page comes from