feat(host-agent): Docker-loser Native-Build + Live-ISO-Hinweis
Docker-Build scheitert auf Live-ISOs (overlayfs-Root -> overlay2 kann kein Overlay-auf-Overlay stapeln: 'failed to mount ... invalid argument'). Ergaenzt: - build-native.sh: PyInstaller in einem venv, ohne Docker (Warnung: linkt gegen lokales glibc). - README: Live-ISO-Ursache erklaert + zwei Auswege (Binary woanders bauen und kopieren [empfohlen, portabel] oder nativ bauen). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
.env
|
.env
|
||||||
build/
|
build/
|
||||||
dist/
|
dist/
|
||||||
|
.buildenv/
|
||||||
*.spec
|
*.spec
|
||||||
__pycache__/
|
__pycache__/
|
||||||
|
|||||||
@@ -30,6 +30,24 @@ ARIA nutzt diese über die Brain-Tools `host_list` / `host_exec` / `host_read` /
|
|||||||
Gebaut wird in einem bullseye-Container (altes glibc), damit die Binary auf
|
Gebaut wird in einem bullseye-Container (altes glibc), damit die Binary auf
|
||||||
möglichst vielen Distributionen läuft.
|
möglichst vielen Distributionen läuft.
|
||||||
|
|
||||||
|
### Docker scheitert? (Live-ISO / overlayfs-Root)
|
||||||
|
|
||||||
|
Wenn `build.sh` mit `failed to mount … overlayfs … invalid argument` abbricht,
|
||||||
|
läufst du wahrscheinlich auf einem **Live-System** (Live-ISO). Dessen Root ist
|
||||||
|
selbst ein overlayfs, und Dockers `overlay2`-Treiber kann kein Overlay-auf-
|
||||||
|
Overlay stapeln. Zwei Auswege:
|
||||||
|
|
||||||
|
- **Empfohlen:** Binary auf einem normal installierten Linux bauen (`./build.sh`)
|
||||||
|
und nur die fertige `dist/aria-host-agent` aufs Live-System kopieren. Die
|
||||||
|
Binary ist portabel — Ziel braucht weder Docker noch Python.
|
||||||
|
- **Nativ bauen (ohne Docker):**
|
||||||
|
```bash
|
||||||
|
sudo apt install -y python3-pip python3-venv
|
||||||
|
./build-native.sh
|
||||||
|
```
|
||||||
|
Achtung: nativ gebaut linkt die Binary gegen das glibc **dieser** Maschine —
|
||||||
|
sie läuft dann nur auf Systemen mit gleichem oder neuerem glibc.
|
||||||
|
|
||||||
## Installieren
|
## Installieren
|
||||||
|
|
||||||
1. `dist/aria-host-agent` auf den Ziel-Rechner kopieren.
|
1. `dist/aria-host-agent` auf den Ziel-Rechner kopieren.
|
||||||
|
|||||||
Executable
+25
@@ -0,0 +1,25 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Baut die Host-Agent-Binary OHNE Docker — direkt mit PyInstaller.
|
||||||
|
# Nutze das, wenn Docker nicht geht (z.B. Live-ISO mit overlayfs-Root, wo
|
||||||
|
# Dockers overlay2-Treiber kein Overlay-auf-Overlay stapeln kann).
|
||||||
|
#
|
||||||
|
# sudo apt install -y python3-pip python3-venv # falls noch nicht da
|
||||||
|
# ./build-native.sh
|
||||||
|
#
|
||||||
|
# WICHTIG: Nativ gebaut linkt die Binary gegen das glibc DIESER Maschine. Sie
|
||||||
|
# laeuft dann nur auf Systemen mit glibc >= dem hier. Fuer breite Kompatibilitaet
|
||||||
|
# lieber ./build.sh (Docker/bullseye) auf einem normalen Rechner nutzen.
|
||||||
|
set -euo pipefail
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
python3 -m venv .buildenv
|
||||||
|
# shellcheck disable=SC1091
|
||||||
|
. .buildenv/bin/activate
|
||||||
|
pip install --quiet --upgrade pip
|
||||||
|
pip install --quiet pyinstaller -r requirements.txt
|
||||||
|
pyinstaller --onefile --name aria-host-agent --collect-all psutil host_agent.py
|
||||||
|
deactivate
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "Fertig: dist/aria-host-agent"
|
||||||
|
echo ".env danebenlegen (siehe .env.example), dann: chmod +x aria-host-agent && ./aria-host-agent"
|
||||||
Reference in New Issue
Block a user