One line installs the agent on Linux and macOS
The pasted install block for Linux and macOS is gone. In its place is a single command that downloads a readable installer script from your own Wegweiser server and runs it. It retires a failure where the paste stopped halfway and left the machine unenrolled.
Open a group, press Get install command (Linux), and what you copy now is one line:
curl -fsSL -o /tmp/wegweiser-install.sh "https://app.wegweiser.tech/download/agent/install.sh" && sudo bash /tmp/wegweiser-install.sh --token "<token>"
The same line, with the same shape, is what macOS gets. The two Linux choices (Debian or Ubuntu, RHEL or Fedora) have become one, because the script works out which family it is standing on.
What the line does
It downloads a small shell script from your Wegweiser server and runs it as root. The script:
- reads
/etc/os-releaseand picks the.debor.rpmpath, or the.pkgon a Mac, and the right architecture (amd64 or arm64, Intel or Apple Silicon); - downloads that package from the server's download proxy and refuses anything that is too small to be real;
- installs it with the system's own package manager, with every package-manager call reading from
/dev/nullso nothing can wait on a terminal; - enrols the machine with the single-use token if it has never been enrolled, or restarts the service on the new binary if it has, keeping the device identity either way.
That last point makes it the upgrade command too. Run it on a box that is already in your console and the device stays the same device; no token is needed for that.
Why a file and not a pasted block
The previous command was a dozen pasted lines. On a shell without bracketed paste, which includes plenty of SSH sessions, bash runs a paste one line at a time. The first line that ran was sudo apt install, and by the time it returned, everything after it had been discarded: apt hands the terminal's input to dpkg, and sudo flushes whatever is left when it exits. The package installed and the enrolment never happened. The operator's next move, restarting the service, answered "Unit Wegweiser.service not found", which reads like a broken package and was nothing of the sort.
One line cannot be split by any terminal. A script runs from a file, so nothing can eat it. And because the file is downloaded first rather than piped straight into a shell, you can read it before you run it:
less /tmp/wegweiser-install.sh
It is around two hundred lines of plain bash, runs under the ancient bash 3.2 that macOS ships, and every step is a named function with main at the bottom, so a truncated download runs nothing at all. Security teams that have a policy against curl | bash have nothing to object to here, and the same policy is the reason it is not offered that way.
The script is served by the application, not shipped inside the agent release, so a fix to the installer is a normal deploy rather than an agent release.
What this was tested on
Ubuntu 24.04 and Rocky Linux 9.8, both already enrolled, took the upgrade path and kept their identity. A fresh Linux Mint 22.3 desktop, the machine that surfaced the paste failure in the first place, enrolled through the register, install and start sequence the script runs.
Windows is unchanged: the elevated PowerShell command and the signed installer for RMM or GPO push are exactly as before.