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