File tree Expand file tree Collapse file tree 1 file changed +32
-1
lines changed
Expand file tree Collapse file tree 1 file changed +32
-1
lines changed Original file line number Diff line number Diff line change 11package envinspection
22
3- import "github.com/zcalusic/sysinfo"
3+ import (
4+ "io/ioutil"
5+ "regexp"
6+ "strings"
7+
8+ "github.com/zcalusic/sysinfo"
9+ )
410
511func getOsInfo () string {
612 var si sysinfo.SysInfo
713 si .GetSysInfo ()
814 var vendor = si .OS .Vendor
915 var version = si .OS .Version
16+ // centos/rhel 兼容补丁
17+ if vendor == "" || vendor == "unknown" {
18+ if content , err := ioutil .ReadFile ("/etc/redhat-release" ); err == nil {
19+ line := strings .ToLower (string (content ))
20+ var re = regexp .MustCompile (`([a-zA-Z ]+) release ([0-9.]+)` )
21+ if m := re .FindStringSubmatch (line ); len (m ) == 3 {
22+ v := strings .TrimSpace (m [1 ])
23+ switch {
24+ case strings .Contains (v , "centos" ):
25+ vendor = "centos"
26+ case strings .Contains (v , "red hat enterprise linux server" ):
27+ vendor = "rhel"
28+ default :
29+ vendor = strings .ReplaceAll (v , " " , "_" )
30+ }
31+ // 只保留大版本号
32+ ver := m [2 ]
33+ if idx := strings .Index (ver , "." ); idx > 0 {
34+ version = ver [:idx ]
35+ } else {
36+ version = ver
37+ }
38+ }
39+ }
40+ }
1041 switch vendor {
1142 case "opensuse-leap" :
1243 vendor = "opensuse:leap"
You can’t perform that action at this time.
0 commit comments