jak usunąć usługę systemctl? (Arch-Linux)

1

Przed twoją flagą jako duplikat pytania, przejrzałem wszystkie pytania z tym samym problemem i żadne z rozwiązań nie zadziałało dla mnie.

Byłem nowy w instalacji Arch-linux i śledziłem tandetny samouczek, w samouczku mężczyzna wyjaśnił, że powinienem użyć:

sudo systemctl enable [email protected]

aby automatycznie uruchamiał usługę Wi-Fi po uruchomieniu, jednak niepoprawnie zapisałem nazwę urządzenia, w rzeczywistości jest to wlo1 nie wl01. Teraz za każdym razem, gdy uruchamiam się, muszę poczekać 1m 30s na próbę przekroczenia limitu czasu. Próbowałem się go pozbyć na wiele sposobów

sudo systemctl disable [email protected]
sudo systemctl disable wl01.service
sudo systemctl reset-failed

wszystko to nie rozwiązało mojego problemu, pierwszy powraca mówiąc, że nie ma takiego pliku lub katalogu. Jak się tego pozbyć?

Dzięki

Pavilion Sahota
źródło
2
Jeśli usługa jest rzeczywiście włączona, powinna utworzyć dowiązanie symboliczne poniżej /etc/systemd/system/. Sprawdź, czy możesz znaleźć wersję z literówką. Na przykład za pomocą 'find / etc / systemd / system -name w * .service`
Marek Rost
Niestety nie: / Tylko 3 pliki: display-manager.service, getty.target.wants, multi-user.target.wants: /
Pavilion Sahota
1
te .wants nie powinny to być pliki, ale foldery, które reprezentują systemowe cele (odpowiednik poziomu init w sysvinit, spójrz w górę, aby uzyskać trochę wiedzy w tle :) Oczywiście powinno być w jednym z nich. To dlatego napomknąłem find polecenie, które wyszukuje rekurencyjnie.
Marek Rost

Odpowiedzi:

0

Dokument w man systemctl wyjaśnia, że enable polecenia tworzy dowiązania symboliczne i disable polecenia usuwa je. Odnosi się do dokumentacji dla [Install] sekcja plików jednostek, aby uzyskać więcej informacji.

man systemd.unit ma kilka dokumentów związanych z [Install] sekcja, która stanowi przykład miejsca przechowywania dowiązania symbolicznego. Jeśli [Install] sekcja zawiera WantedBy=multi-user-.target, następnie dowiązanie symboliczne zostanie utworzone w: /etc/systemd/system/multi-user.target.wants/foo.service

Więc sprawdź [Install] w powiązanym pliku usługi dhcpcd, a następnie sprawdź, czy powiązane dowiązanie symboliczne zostało usunięte.

Wreszcie, jak opisano w man systemctl, istnieje jeszcze silniejsza wersja disable nazywa mask co zapobiega absolutnie wszelkim formom uruchomienia usługi, więc możesz również spróbować.

Mark Stosberg
źródło