This section presents the different methods to download NUT.
To build from Git sources, you will need a number of tools such as autoconf,
automake and libtool to use these checkouts or snapshots to generate the
configure script and some other files. The distribution archives already
include the configure script (as well as other files) and do not require
auto* tools to prepare the sources for a build.
A more complete list of build prerequisites for different platforms can be seen in
Prerequisites
for building NUT on different OSes chapter in the
NUT QA Guide,
and reading about
configure
script options can also help.
After you configure the source workspace, a make dist-hash recipe would
create the snapshot tarballs which do not require the auto* tools, and their
checksum files, such as those available on the NUT website and attached to
GitHub Releases page.
You should always use PGP/GPG to verify the signatures before using any source code.
You can use the following procedure. to do so.
To get the newest fixes or features, you may want to build code that is
even newer than the most-recent NUT release (and likely much newer than
whatever your OS distribution has packaged). This bleeding-edge approach
usually involves building NUT either from the master branch, or even
from feature branches which are sources of a pull request being reviewed
and discussed before it gets merged into the main development trunk.
As such, it is highly recommended to build from Git sources rather than "distribution tarball" archives (so you can more easily update your build workspace to try subsequent iterations), although the latter are now also available for development iterations.
See the live Wiki article on https://github.com/networkupstools/nut/wiki/Building-NUT-for-in%E2%80%90place-upgrades-or-non%E2%80%90disruptive-tests for latest suggestions for building, testing and installing the latest NUT code base.
The development tree is available through a Git repository hosted at GitHub.
To retrieve the current development tree, use the following command:
:; git clone git://github.com/networkupstools/nut.git
OPTIONALLY you can then fetch known git tags, so semantic versions look better (based off a recent release):
:; cd nut :; git fetch --tags --all
The configure script and its dependencies are not stored in Git. To generate
them, ensure that autoconf, automake and libtool are installed, then run the
following script in the directory you just checked out:
:; ./autogen.sh
It is optionally recommended to have Python 2.x or 3.x, and Perl, to
generate some files included into the configure script, presence is checked
by autotools when it is generated. Neutered files can be just "touched" to
pass the autogen.sh if these interpreters are not available, and effectively
skip those parts of the build later on — autogen.sh will then advise which
special environment variables to export in your situation and re-run it.
Then refer to the NUT user manual for more information.
You can browse the "vanilla NUT" code at the Main GitHub repository for NUT sources, and some possibly modified copies as part of packaging recipe sources of operating system distributions, as listed below.
For pull requests and eventual merges into the master branch, a NUT CI job prepares correct "dist tarballs" with a snapshot of source code, as well as an archive with rendered documentation files (PDF, HTML, man pages).
Links to these "Dist and Docs" archives can be seen on GitHub in the list of GitHub Checks associated with merge commits and pull requests. Keep in mind that artifacts like these are stored for up to 90 days, and can be rotated away earlier.
GitHub has several download links for repository snapshots (made for
particular tags or branches), but the ability to build NUT seamlessly from
ZIP or tar.gz snapshots prepared by GitHub automatically (as a simple
git archive of a checked-out workspace) is not regularly checked nor
"supported" by the Network UPS Tools project. YMMV.
The only official releases from this project are source code "tarballs",
prepared by make dist-files from the tagged release commits on main trunk of
the development code base (for more details see NUT Maintainer Guide in source).
Best-effort packages or archives of installation prototype workspaces, prepared by regular CI builds, are planned to ease evaluation of the latest development for some platforms (currently serving only NUT for Windows).
NUT is already available in the following operating systems (and likely more):
Repology report on "network-ups-tools" lists 239 entries about NUT, as of 2025-09-06
Linux:
BSD systems:
macOS 11+ and Mac OS X:
illumos/Solaris:
Windows (complete port, Beta):
Current regular CI builds are available as tarballs with binaries from Appveyor CI — but it may be difficult to locate specifically the master-branch builds. See NUT for Windows wiki article for these details, and more.
The latest release’s automated build archive is available here:
NUT client for VMware ESXi (several versions of both; offsite, by René Garcia).
Since the hypervisor manager environment lacks access to hardware ports, this
package only includes the upsmon client integration, and a NUT server must
run in a VM with passed-through ports.
See NUT and VMware (ESXi) page on NUT Wiki for more community-contributed details.
Note that the VIB package versioning is independent of NUT or VMware versions, they are however mentioned in downloadable file names. As of this writing, there are builds spanning VMware ESXi 5.0-8.0 and NUT 2.7.4-2.8.0.
This module is provided "as is" and is not approved by VMware, you may lose VMware support if you install it. Use it at your own risks.