Skip to content

Latest commit

 

History

History
74 lines (52 loc) · 2.58 KB

File metadata and controls

74 lines (52 loc) · 2.58 KB

Linux Agent Installation

Like the Windows Agent, the Linux Agent is a single self-contained executable that installs itself as a systemd service - no separate package manager entry, no .NET runtime required on the target machine.

Status: builds and cross-publishes cleanly (confirmed genuine linux-x64 ELF binary), but has not been run against a real Linux machine from the session that built it - same honesty bar as the Ubuntu Server deployment guide. Treat your first install as the first real test.

1. Build the installer

From C:\Projects\OpsCommandCenter on the Windows dev machine (cross-publish, no Docker/WSL needed):

.\publish-agent-linux.ps1

Produces publish-agent-linux\OpsCommandCenterAgentLinux (self-contained).

2. Copy it to the target Linux PC

scp publish-agent-linux/OpsCommandCenterAgentLinux user@<pc-ip>:/tmp/
ssh user@<pc-ip> "chmod +x /tmp/OpsCommandCenterAgentLinux"

3. Silent install (per PC)

Must run as root:

sudo /tmp/OpsCommandCenterAgentLinux --install --server=http://<server-ip>:5252 --interval=10

What this does:

  • Copies itself to /opt/opscommandcenter-agent/OpsCommandCenterAgentLinux
  • Writes an appsettings.json next to it with the given server URL and report interval
  • Creates a dedicated opscommandcenter system user
  • Installs and starts a systemd service named opscommandcenter-agent (auto-start on boot, auto-restart on crash)

Re-running the same command is safe - it stops and replaces the existing service rather than erroring.

4. Silent uninstall

sudo /tmp/OpsCommandCenterAgentLinux --uninstall

Stops and removes the systemd service. Installed files are left in place.

Verifying an install

sudo systemctl status opscommandcenter-agent

Should show active (running). Within a few report intervals the PC should appear as a card on the dashboard.

Known limitations

  • Disk health: only populated if smartctl (from the smartmontools package) is installed — reports 100/0 for PASSED/FAILED, not a percentage (Linux exposes SMART data far less uniformly than Windows' MSFT_StorageReliabilityCounter). Without smartctl, disk health shows "n/a", same honest-gap handling as the Windows Agent.
  • BitLocker/Antivirus equivalents: left as "n/a" rather than guessed. Linux disk encryption (LUKS) and antivirus tooling vary too much across distros for a single reliable check — a real implementation would need to know your specific setup (LUKS vs. plain, which AV if any) rather than a generic heuristic that could report the wrong answer.