sysinfo/internal/sysinfo/deps.go
2025-05-01 03:07:12 -07:00

30 lines
621 B
Go

package sysinfo
import "os/exec"
func (a *App) ensureDeps() error {
req := map[string]string{
"smartctl": "smartmontools",
"cryptsetup":"cryptsetup",
"sfdisk": "util-linux",
"lsblk": "util-linux",
"blkid": "util-linux",
"ip": "iproute2",
"ethtool": "ethtool",
"dmidecode": "dmidecode",
"sensors": "lm-sensors",
"curl": "curl",
"jc": "jc",
"dpkg": "dpkg",
}
for bin, pkg := range req {
if _, err := exec.LookPath(bin); err != nil {
a.logf("apt install %s", pkg)
if err := a.aptInstall(pkg); err != nil {
return err
}
}
}
return nil
}