Administrative Compatibility Tool

Current version: 0.9.0 (12 October 2024) [src]

act, the Administrative Compatibility Tool, provides a consistent interface for system administration activities 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 act 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:

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.

This software is distributed under the terms of the GNU General Public License version 3 or later.

To install act, follow these steps:

wget https://www.ivarch.com/programs/sources/act-0.9.0.tar.gz
tar xzf act-0.9.0.tar.gz
cd act-0.9.0
sh ./configure
make
sudo make install

Comments, bug reports, and patches can be sent using the Issue tracker, or through the Contact Form.

Example

This example shows the use of “act 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}" "act -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.

News

0.9.0 - 12 October 2024

0.8.1 - 26 September 2024

0.2.0 - 22 September 2024

0.1.0 - 4 May 2024

0.0.1 - 28 April 2024