| 58 | } |
| 59 | |
| 60 | func isSysvServiceEnabled(serviceName string) (bool, error) { |
| 61 | entries, err := os.ReadDir("/etc") |
| 62 | if err != nil { |
| 63 | return false, err |
| 64 | } |
| 65 | for _, entry := range entries { |
| 66 | name := entry.Name() |
| 67 | if !entry.IsDir() || !strings.HasPrefix(name, "rc") || !strings.HasSuffix(name, ".d") { |
| 68 | continue |
| 69 | } |
| 70 | items, err := os.ReadDir(filepath.Join("/etc", name)) |
| 71 | if err != nil { |
| 72 | continue |
| 73 | } |
| 74 | for _, item := range items { |
| 75 | itemName := item.Name() |
| 76 | if strings.HasPrefix(itemName, "S") && strings.HasSuffix(itemName, serviceName) { |
| 77 | return true, nil |
| 78 | } |
| 79 | } |
| 80 | } |
| 81 | return false, nil |
| 82 | } |