Files
insights-go/os_info_linux.go

32 lines
511 B
Go

//go:build linux
package insights
import (
"os"
"strings"
)
func getOSInfo() osInfo {
data, err := os.ReadFile("/etc/os-release")
if err != nil {
return osInfo{
Name: "Linux",
}
}
fields := make(map[string]string)
for _, line := range strings.Split(string(data), "\n") {
parts := strings.SplitN(line, "=", 2)
if len(parts) == 2 {
fields[parts[0]] = strings.Trim(parts[1], `"`)
}
}
return osInfo{
Name: "Linux",
Version: fields["VERSION_ID"],
Distro: fields["NAME"],
}
}