38 lines
1.3 KiB
Bash
Executable File
38 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# install-utils-v2.sh - retry install without nstat package.
|
|
set -uo pipefail
|
|
SSH_OPTS=(-o BatchMode=yes -o ConnectTimeout=8 -o StrictHostKeyChecking=accept-new)
|
|
|
|
PKGS="sysstat jq numactl nvme-cli mtr-tiny dnsutils bmon"
|
|
|
|
for host in pfv-tsys6 pfv-tsys7; do
|
|
echo "=== [$host] installing: $PKGS ==="
|
|
ssh "${SSH_OPTS[@]}" "root@$host" \
|
|
"DEBIAN_FRONTEND=noninteractive apt-get update -qq 2>&1 | tail -2 && \
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y $PKGS 2>&1 | tail -10"
|
|
|
|
# sysstat enable (path varies by Debian version)
|
|
ssh "${SSH_OPTS[@]}" "root@$host" '
|
|
if [ -r /etc/default/sysstat ]; then
|
|
sed -i "s/^ENABLED=.*/ENABLED=\"true\"/" /etc/default/sysstat
|
|
systemctl enable --now sysstat 2>/dev/null
|
|
grep ENABLED /etc/default/sysstat
|
|
else
|
|
# Newer Debian (trixie) — sysstat cron/service auto-enabled
|
|
systemctl enable --now sysstat 2>/dev/null || echo "(sysstat auto via cron)"
|
|
fi
|
|
'
|
|
echo ""
|
|
done
|
|
|
|
# Verify
|
|
for host in pfv-tsys6 pfv-tsys7; do
|
|
echo "=== [$host] verification ==="
|
|
ssh "${SSH_OPTS[@]}" "root@$host" '
|
|
for p in sysstat jq numactl nvme mtr-tiny dig bmon; do
|
|
command -v "$p" >/dev/null 2>&1 && echo " ✓ $p" || echo " ✗ $p"
|
|
done
|
|
'
|
|
echo ""
|
|
done
|