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 }