• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

bin/H16-Dec-2019-2,6051,233

contrib/H16-Dec-2019-1,7691,240

doc/H16-Dec-2019-13689

etc/H16-Dec-2019-270209

inc/Module/H16-Dec-2019-3,0652,300

lib/H16-Dec-2019-47,94732,628

resources/H16-Dec-2019-207,008199,840

share/H16-Dec-2019-65,47165,164

t/H16-Dec-2019-83,22780,277

CONTRIB.mdH A D12-Dec-20192.1 KiB3526

ChangesH A D16-Dec-2019129.1 KiB2,8442,594

LICENSEH A D12-Oct-201817.6 KiB340281

MANIFESTH A D16-Dec-201961.1 KiB1,5011,500

META.ymlH A D16-Dec-20191.8 KiB8180

Makefile.PLH A D03-May-20229.8 KiB285211

README.CronH A D12-Oct-20182.2 KiB4937

README.PackagingH A D12-Oct-20182.4 KiB7148

README.mdH A D12-Dec-20193.7 KiB15596

THANKSH A D12-Oct-20183.1 KiB9188

README.Cron

1
2For Linux/Unix platforms only:
3
4WARNING: FusionInventory Agent would better be installed as systemd service and
5this is the recommanded way of doing.
6
7FusionInventory agent is expected to run its tasks on a regular basis and is better
8installed as service. Its memory and load footprints are low enough for modern desktop computers.
9
10To know better about the FusionInventory agent execution modes, you should read
11the online Agent usage page:
12http://fusioninventory.org/documentation/agent/usage.html
13
14You should use cron if you don't want a fusioninventory-agent process to be running
15all the time and if you don't need to trigger it remotely (from the server
16or manually, locally contacting the `http://localhost:62354/` page).
17
18So if you prefer to run FusionInventory Agent as scheduled cron job, you may need
19to do the following as root:
201. stop and disable the fusioninventory-agent service (if start/enabled):
21   systemctl stop fusioninventory-agent
22   systemctl disable fusioninventory-agent
23
242. create a /etc/fusioninventory/conf.d/better-for-cron.cfg file with the following
25   lines:
26   # Don't force agent to run inventory at each run, but only
27   # after server defined timeout has been reached
28   lazy = 1
29
303. as example, add a root cron job like this:
31   # Don't remove --wait option (delay in seconds) so the agent wait a random
32   # time before really run its work
33   00 */4 * * * /usr/bin/fusioninventory-agent --wait=1800 >/var/lib/fusioninventory-agent/cron.log 2>&1
34
35For large companies, be aware you can lead to concurrent execution issues
36if you don't enable agent `lazy` option with cron scheduling and even more if you forget to
37use `--wait` option. To avoid such missconfiguration, you would prefer leave the agent
38started as systemd service and define a peaceful delay on server. You may adjust scheduled
39time and wait command line only option to your needs.
40
41As a reminder, when launched without the daemonize configuration directive
42as usually done from cron, the agent is a short-lived process, without
43the ability to listen on the network for out-of-schedule activation requests
44from the server.
45===
46
47Review our mandatory 'schedule agent with cron' page:
48http://fusioninventory.org/documentation/agent/cron.html
49

README.Packaging

1
2For Linux/Unix platforms packaging only:
3
4FusionInventory Agent should be installed as systemd service by default.
5
6By default, service will fail until agent configuration includes a server target
7configuration or a local target configuration.
8
9The default configuration should use the new "include" directive so any *.cfg file
10from /etc/fusioninventory/conf.d folder is read to update default options values.
11
12Then the best way to configure a target will be to create a dedicated .cfg file
13in /etc/fusioninventory/conf.d folder. As example, users would have to create a
14simple glpi.cfg file set with the following:
15
16# GLPI server
17server = http://glpi-server/plugins/fusioninventory
18
19Or for a local inventory:
20
21# Local inventory folder
22local = /var/lib/fusioninventory-agent
23
24If "include" directive is enabled at the end of default configuration, any
25new definition set in included file(s) will just override defaults, so as example
26anyone can just enable debug level 1 option and set tag adding the following to a
27cfg file or adding it in a newer cfg file like this:
28
29debug = 1
30tag = hosting
31
32Be aware, files in /etc/fusioninventory/conf.d folder would be read in alphabetic
33order and last value for a specific option will be used for the option.
34
35===
36
37Default logger configuration is to log on stderr. Packagers should prefer the
38agent to use system logging feature while installed as service and setting the
39following in installed default configuration file:
40logger = syslog
41logfacility = LOG_DAEMON
42
43===
44
45During packaging, it is also advised to override lib/FusionInventory/Agent/Version.pm
46module so agent version matches the package version. Packagers should also add
47their own useful comments in the $COMMENTS perl array ref to help maintainers
48to identify the package building source. As example, the module can be set to:
49package FusionInventory::Agent::Version;
50
51use strict;
52use warnings;
53
54our $VERSION = "2.4.2-1";
55our $PROVIDER = "FusionInventory";
56our $COMMENTS = [ "My distro package built on some computer", "Built on that date" ];
57
581;
59
60===
61
62During packaging, it is also advised to override lib/setup.pm module so datadir,
63libdir and vardir perl variables match the system preferences for these folders.
64The default setup.pm is defined to compute most well-known case with a very light
65overhead.
66
67===
68
69Review our mandatory Linux packaging page:
70http://fusioninventory.org/documentation/packaging/linux.html
71

README.md

1# FusionInventory Agent
2
3[![Travis Build Status](https://travis-ci.org/fusioninventory/fusioninventory-agent.svg?branch=develop)](https://travis-ci.org/fusioninventory/fusioninventory-agent)
4[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/f2oh6p3qnr2bck1b?svg=true)](https://ci.appveyor.com/project/fusioninventory/fusioninventory-agent)
5[![CircleCI Build status](https://circleci.com/gh/fusioninventory/fusioninventory-agent.svg?style=svg)](https://circleci.com/gh/fusioninventory/fusioninventory-agent)
6
7## Summary
8
9The FusionInventory agent is a generic management agent. It can perform a
10certain number of tasks, according to its own execution plan, or on behalf of a
11GLPI server with fusioninventory plugin, acting as a control point.
12
13## Description
14
15See [FusionInventory solution overview](http://fusioninventory.org/overview/)
16
17## Dependencies
18
19### Core
20
21Minimum perl version: 5.8
22
23Mandatory Perl modules:
24
25* File::Which
26* LWP::UserAgent
27* Net::IP
28* Text::Template
29* UNIVERSAL::require
30* XML::TreePP
31
32Optional Perl modules:
33
34* Compress::Zlib, for message compression
35* HTTP::Daemon, for web interface
36* IO::Socket::SSL, for HTTPS support
37* LWP::Protocol::https, for HTTPS support
38* Proc::Daemon, for daemon mode (Unix only)
39* Proc::PID::File, for daemon mode (Unix only)
40
41### Inventory task
42
43Optional Perl modules:
44
45* Net::CUPS, for printers detection
46* Parse::EDID, for EDID data parsing
47* DateTime, for reliable timezone name extraction
48
49Optional programs:
50
51* dmidecode, for DMI data retrieval
52* lspci, for PCI bus scanning
53* hdparm, for additional disk drive info retrieval
54* monitor-get-edid-using-vbe, monitor-get-edid or get-edid, for EDID data access
55* ssh-keyscan, for host SSH public key retrieval
56
57### Network discovery tasks
58
59Mandatory Perl modules:
60
61* Thread::Queue
62
63Optional Perl modules:
64
65* Net::NBName, for NetBios method support
66* Net::SNMP, for SNMP method support
67
68Optional programs:
69
70* arp, for arp table lookup method support
71
72### Network inventory tasks
73
74Mandatory Perl modules:
75
76* Net::SNMP
77* Thread::Queue
78
79Optional Perl modules:
80
81* Crypt::DES, for SNMPv3 support
82
83### Wake on LAN task
84
85Optional Perl modules:
86
87* Net::Write::Layer2, for ethernet method support
88
89### Deploy task
90
91Mandatory Perl modules:
92
93* Archive::Extract
94* Digest::SHA
95* File::Copy::Recursive
96* JSON::PP
97* URI::Escape
98
99Mandatory Perl modules for P2P Support:
100* Net::Ping
101* Parallel::ForkManager
102
103## Related contribs
104
105See [CONTRIB](CONTRIB.md) to find references to FusionInventory Agent related scritps/files
106
107## Contacts
108
109Project websites:
110
111* main site: <http://www.fusioninventory.org>
112* Github org: <http://github.com/fusioninventory/>
113
114Project mailing lists:
115
116* <http://lists.alioth.debian.org/mailman/listinfo/fusioninventory-user>
117* <http://lists.alioth.debian.org/mailman/listinfo/fusioninventory-devel>
118
119Project IRC channel:
120
121* #FusionInventory on FreeNode IRC Network
122
123Please report any issues on Github.
124
125## Active authors
126
127* Guillaume Rousse <guillomovitch@gmail.com>
128* Guillaume Bougard <gbougard@teclib.com>
129
130Copyright 2006-2010 [OCS Inventory contributors](https://www.ocsinventory-ng.org/)
131
132Copyright 2010-2019 [FusionInventory Team](http://fusioninventory.org)
133
134Copyright 2011-2019 [Teclib Editions](http://www.teclib-edition.com/)
135
136## License
137
138This software is licensed under the terms of GPLv2+, see LICENSE file for
139details.
140
141## Additional pieces of software
142
143The fusioninventory-injector script:
144
145* author: Pascal Danek
146* copyright: 2005 Pascal Danek
147
148FusionInventory::Agent::Task::Inventory::Input::Virtualization::Vmsystem
149contains code from imvirt:
150
151* url: <http://micky.ibh.net/~liske/imvirt.html>
152* author: Thomas Liske <liske@ibh.de>
153* copyright: 2008 IBH IT-Service GmbH <http://www.ibh.de/>
154* License: GPLv2+
155