Chcę poprawić czas uruchamiania mojego Ubuntu GNOME 16.04, wyłączając usługi Plymouth podczas uruchamiania. Znalazłem dwie odpowiedzi, jak to zrobić na różnych stronach internetowych:
# systemctl disable plymouth-quit-wait.service
# systemctl mask plymouth-quit-wait.service
Nie mogę wykonać żadnej z powyższych czynności, chyba że wiem, co oni robią.
Odpowiedzi:
Jeśli usługa jest
enabled
, to gdzieś jest dowiązanie symbolicznedo pliku jednostkowego, najczęściej gdzieś w
Pomocnie, gdy jesteś
enable
usługą, pełne ścieżki utworzonego łącza i celu zostaną wydrukowane na standardowe wyjście.Wyłączenie usługi usuwa dowiązanie symboliczne, więc nie wpływa to na sam plik jednostki, ale usługa nie jest ładowana przy następnym uruchomieniu, gdy systemd czyta
/etc/systemd/system
.Można jednak załadować usługę wyłączoną i zostanie ona uruchomiona, jeśli uruchomiona zostanie usługa zależna od niej ;
enable
idisable
konfiguruj tylko automatyczne uruchamianie dla jednostek, a stan można łatwo zastąpić.Zamaskowany usługa jest jeden plik, którego jednostka jest dowiązaniem do
/dev/null
. To sprawia, że „niemożliwe” jest załadowanie usługi, nawet jeśli jest to wymagane przez inną, włączoną usługę.Kiedy jesteś
mask
usługą, tworzony jest dowiązanie symboliczne od/etc/systemd/system
do/dev/null
, pozostawiając oryginalny plik jednostki gdzie indziej niezmieniony. Wunmask
przypadku usługi dowiązanie symboliczne jest usuwane.Zauważyłem jednak, że te polecenia nie zawsze są honorowane.
Gdy próbuję zamaskować większość usług, nie udaje się:
Oczywiście najpierw zatrzymałem usługę. @Anwar sugeruje, że maskowanie jest możliwe tylko w przypadku usług niekrytycznych.
Demaskowanie zamaskowanej usługi, chyba że ją zamaskowałem, również kończy się niepowodzeniem (po cichu). Wierzę, że dzieje się tak, ponieważ nigdzie nie ma pliku jednostkowego dla usługi, z wyjątkiem postaci dowiązania symbolicznego
/dev/null
, tym razem w/lib/systemd/system
:Nie tylko ja mam ten problem
Aby faktycznie zdemaskować zamaskowaną usługę x11-common, musiałem usunąć dowiązanie symboliczne do
/dev/null
isudo apt-get install --reinstall x11-common && sudo systemctl daemon-reload
. Teraz, gdy pytam o tosystemctl status x11-common
, widzę, że usługa ma ładne zielone kółko i jest ładowana i aktywna (opuszczona), chociaż nie ma pliku jednostkowego.Więcej informacji można znaleźć w tym artykule na temat korzystania z Systemctl .
źródło
systemctl status x11-common ● x11-common.service Loaded: masked (/dev/null; bad) Active: inactive (dead)
. Czy to złe? Ale jestem na Debianie, nie Ubuntu. W każdym razie miłe wyjaśnienie. Dziękuję Ci.To jest dość proste.
systemctl start
,systemctl stop
: natychmiast uruchamia (zatrzymuje) dane urządzenie ;systemctl enable
,systemctl disable
: oznacza (odznacza) jednostkę do automatycznego uruchamiania w czasie uruchamiania (w sposób specyficzny dla jednostki, opisany w jej[Install]
rozdziale);systemctl mask
,systemctl unmask
: nie zezwala (zezwala) na wszelkie próby uruchomienia danej jednostki (ręcznie lub jako zależność dowolnej innej jednostki, w tym zależności od domyślnego celu rozruchowego). Zauważ, że znakowanie dla autostartu w systemd jest realizowane przez dodanie sztucznej zależności od domyślnego celu rozruchu do danej jednostki, więc „maska” również uniemożliwia autostart.Ref .: systemctl (1) .
Więcej informacji: Lennart Poettering (2011-03-02). „Trzy poziomy wyłączenia” . systemd dla administratorów . 0pointer.de.
źródło
W skrócie,
disable
powoduje wyłączenie urządzenia podczas rozruchu. Ale to urządzenie można uruchomić w dowolnym momencie po uruchomieniu.mask
całkowicie wyłącza urządzenie. Nie można go uruchomić bez demaskowania. To automatycznie oznacza, że zawiedzie podczas uruchamiania.źródło
mask
iunmask
praca dla Ciebie? (Całkowicie rozumiem, jeśli nie chcesz testować!)[email protected]
obsługą.