Jeśli chcesz dowiedzieć się więcej o systemach init, ważne jest, aby najpierw zrozumieć polecenia systemctl i service oraz leżące u ich podstaw różnice.

Kluczowe dania na wynos

  • Polecenia service i systemctl w Linuksie są niezbędne i bardzo podobne, przy czym systemctl jest bardziej wszechstronnym i potężnym poleceniem.
  • Zarówno service, jak i systemctl umożliwiają użytkownikom konfigurowanie usług systemowych i interakcję z nimi, ale należą do różnych systemów inicjalizacji (odpowiednio SysVinit i systemd).
  • Usługa działa na plikach systemowych inicjalizacji w /etc/init.d, podczas gdy systemctl działa na plikach w /lib/systemd. Zapoznanie się z obydwoma poleceniami jest ważne dla efektywnego zarządzania usługami systemowymi.

service i systemctl są zarówno istotnymi, jak i bardzo podobnymi poleceniami w Linuksie. Są tak podobne, że łatwo się zastanawiać, jakie w ogóle są między nimi różnice i czy można używać tych dwóch poleceń zamiennie.

Znajomość najdrobniejszych szczegółów dotyczących usługi i systemctl pozwoli ci bezproblemowo z nimi pracować.

instagram viewer

Co to jest polecenie usługi w systemie Linux?

W Linuksie polecenie service jest skryptem opakowującym, który umożliwia użytkownikom łatwą konfigurację i interakcję z usługami systemowymi. Poprzedza systemd i działa przede wszystkim ze skryptami znajdującymi się w /etc/init.d.

Mimo że systemctl przejął znaczną część wcześniejszego znaczenia usługi, nadal pozostaje aktualny dzięki wielu starszym funkcjom.

Przejście między powiązanymi systemami inicjalizacji - SysVinit na systemd - było kontrowersyjne, ale rosnące wyzwania dla funkcji oryginalnego systemu init sprawiły, że było to konieczne.

systemd uruchamia usługi równolegle zamiast w sekwencji szeregowej, dzięki czemu czas uruchamiania jest szybszy niż SysVinit — i oferuje nieco bardziej wyrafinowaną kontrolę nad demony systemowe poprzez interfejs wiersza poleceń (CLI).

Co to jest polecenie systemctl w systemie Linux?

Podobnie jak usługa, systemctl to niezwykle wszechstronne polecenie, które pozwala włączać, przeładowywać, uruchamiać, zatrzymywać i sprawdzać stan usług działa w twoim systemie Linux.

systemctl służy jako łatwy w użyciu i wydajny interfejs do konfigurowania plików w systemd — na przykład wystarczy jedno lub dwa polecenia, aby wyłączyć usługę podczas rozruchu za pomocą systemctl.

systemctl jest wstecznie kompatybilny z systemem inicjalizacji, SysVinit, używanym głównie z service. systemctl nie jest bezpośrednim następcą usługi, ale jest znacznie bardziej wszechstronny pod względem narzędzi, które oferuje do zarządzania usługami systemowymi.

Możesz wykonywać zadania, takie jak maskowanie lub wyłączanie usługi, w zaledwie jednym lub dwóch wierszach.

Różnice między usługą a systememctl

service i systemctl w dużej mierze służą temu samemu celowi. Wiele podobieństw między nimi zostało celowo wprowadzonych, aby umożliwić użytkownikom płynniejsze przejście z service do systemctl.

Istnieje jednak kilka różnic między nimi, o których powinieneś wiedzieć, zaczynając pracę z systemem inicjalizacji w systemie Linux.

1. Różne systemy init

Najbardziej znaczącą różnicą między service a systemctl jest to, że należą one do różnych systemów inicjalizacji. service należy do SysVinit (System V Init), inaczej znanego jako proces inicjalizacji klasycznego Linuksa.

systemctl należy do systemd, następcy SysVinit i nowoczesnego procesu inicjalizacji używanego w wielu systemach Linux.

Ponieważ service i systemctl są częścią różnych procesów inicjalizacji, operują na plikach systemowych inicjalizacji w różnych katalogach. service działa z plikami systemowymi inicjalizacji znajdującymi się w /etc/init.d, podczas gdy systemctl działa z plikami systemowymi inicjalizacji znajdującymi się w /lib/systemd.

Ogólnie rzecz biorąc, system inicjalizacji, który napotkasz podczas gotowych instalacji Linuksa, to systemd - więc będziesz chciał zapoznać się z używaniem systemctl do interakcji z nim.

Jeśli zamierzasz pracować z systemami, które poprzedzają lub pokrywają się z wydaniem systemd w 2010 roku, nie zaszkodzi również zapoznać się z używaniem polecenia service.

2. Zgodność

service nadal jest niezwykle przydatnym poleceniem pod względem kompatybilności - jako polecenie opakowujące może przekierowywać do menedżera usług używanego w różnych systemach. Powinieneś zaplanować, aby się go nauczyć i uczynić go częścią swojego arsenału, jeśli będziesz pracować z różnymi systemami Linux.

3. Funkcje podstawowe

Kolejna kluczowa różnica między systemctl a service polega na sposobie ich działania. service to polecenie wysokiego poziomu, które przekierowuje do podstawowego menedżera usług używanego w określonym systemie, co oznacza, że ​​jest dość wszechstronne między systemami. Może przekierowywać do /etc/init.d, upstart, a nawet systemctl. Tymczasem polecenia systemctl wchodzą w bezpośrednią interakcję z systemd.

4. Zdolność

Jeśli chodzi o to, co możesz osiągnąć, można śmiało powiedzieć, że systemctl znacznie przewyższa usługi pod względem mocy. Oprócz podstawowych funkcji, takich jak uruchamianie, zatrzymywanie, włączanie lub wyłączanie określonej usługi, możesz także skonfigurować zaawansowane konfiguracje za pomocą systemctl.

usługa jest bardziej ograniczona ze względu na wymaganą zgodność z podstawowymi menedżerami usług, na których polega.

Skutecznie konfiguruj usługi systemowe w systemie Linux

service i systemctl to niezwykle ważne polecenia do zarządzania usługami systemowymi. Niezależnie od tego, czy chcesz po prostu jak najlepiej wykorzystać swój system Linux, czy też zamierzasz pracować w sieciach korporacyjnych, zapoznanie się z obydwoma poleceniami jest niezbędne.

Na szczęście istnieje wiele świetnych samouczków, które mogą pomóc ci stać się mistrzem w korzystaniu z systemctl i service w terminalu.