2
2
Fork
You've already forked uact
0
uact, the Unix Admin Compatibility Tool, provides a consistent simplified interface for package and service management across multiple types of Unix-like operating system, with minimal overhead. https://ivarch.com/p/uact
  • Shell 97.5%
  • Makefile 2.1%
  • M4 0.4%
2025年08月06日 13:25:12 +01:00
docs Support "listening-ports" on NetBSD. 2025年07月04日 23:17:59 +01:00
src Support "listening-ports" on NetBSD. 2025年07月04日 23:17:59 +01:00
.gitignore Initial package skeleton. 2023年10月28日 17:14:21 +01:00
configure.ac New shorter home page URL. 2025年06月02日 22:51:24 +01:00
Makefile.am Copyright note update for 2025. 2025年01月03日 16:20:05 +00:00
README.md Adjust the RHEL derivatives maximum version to 10. 2025年08月06日 13:25:12 +01:00
settings.sh.in Copyright note update for 2025. 2025年01月03日 16:20:05 +00:00

Introduction

The Unix Admin Compatibility Tool, uact, provides a consistent simplified interface for package and service management across multiple types of Unix-like operating system, with minimal overhead.

There are no complex dependencies or specific Python versions required. All you need to run uact is a shell and the basic operating system utilities.

The tool simplifies basic package and service management across a heterogeneous estate. It can be used in scripted bulk queries or updates over SSH, interactively via a terminal multiplexer such as tmux(1), or it can be used as an OS-independent layer for a command and control system. More advanced activities are left to the native administrative commands.

Supported operating systems:

  • Debian GNU/Linux 7 - 12 and derivatives
  • AlmaLinux 8 - 10
  • Arch Linux
  • Alpine Linux
  • FreeBSD 13.3-RELEASE
  • OpenBSD 7.5
  • OpenSUSE Leap 15.4
  • Rocky Linux 8 - 10
  • CentOS 5 - 7
  • RHEL 5 - 10

Supported tasks include package installation, updating, reinstallation, and removal; and service listing, stopping, starting, restarting, and masking.

An extension mechanism allows new actions to be added where needed. User-defined hooks can also run before and after each action.

Documentation

A manual page is included in this distribution ("man uact"). Before installation, it is in "docs/uact.8".

Changes are listed in "docs/NEWS.md".

Developers and translators, please see "docs/DEVELOPERS.md".

Installation

See "docs/INSTALL" for more about the configure script.

The typical process for a system-wide install is:

sh ./configure --prefix=/usr
make
sudo make install

This requires Make ("sudo apt install make" on Debian or Ubuntu systems).

If this is not a packaged release, the configure script is not included. It is generated with the GNU build system tools (autoconf, aclocal, automake). On Debian or Ubuntu, run "sudo apt install automake". Once those tools are in place, call "autoreconf -is" to generate the configure script, and run it as described above.

Example

This example shows the use of "uact package-upgrade-list" to find out which of the test systems listed in the LAB-VMS file have updates waiting to be applied.

# for remoteHost in $(cat LAB-VMS); do \
 ssh "${remoteHost}" "uact -q package-upgrade-list" \
 > "upgrades-${remoteHost%.*}"; \
 done
# wc -l $(find . -maxdepth 1 -type f -name "upgrades-*" -size +0 | sort)
 2 ./upgrades-alma9
 3 ./upgrades-archlinux
 2 ./upgrades-centos7
 2 ./upgrades-debian11
 2 ./upgrades-debian12
 13 ./upgrades-freebsd
 152 ./upgrades-opensuseleap
 237 ./upgrades-rocky8
 4 ./upgrades-ubuntu24
 417 total

Here we see that, for example, the alma9 system has 1 upgrade waiting (the 2 lines of output include one header line); and the rocky8 system has a lot of upgrades waiting.

Copyright, bug reporting, and acknowledgements

Copyright (C) 2023-2025 Andrew Wood.

License GPLv3+: GNU GPL version 3 or later https://www.gnu.org/licenses/gpl-3.0.html.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License, version 3, in "docs/COPYING". If not, see https://www.gnu.org/licenses/gpl-3.0.html.

Please report bugs or request features via the issue tracker linked from the home page.

The uact home page is at:

https://ivarch.com/p/uact

The latest version can always be found here.