Ako môžem vypísať všetky povolené
služby zo systemctl
?
Viem, že spustenie príkazu systemctl
samo o sebe vypíše všetky služby, ale ja by som chcel získať len tie, ktoré sú povolené.
systemctl list-unit-files | grep enabled
vypíše všetky povolené súbory.
Ak chcete vedieť, ktoré z nich sú práve spustené, potrebujete systemctl | grep running
.
Použite ten, ktorý hľadáte. Povolené ešte neznamená, že beží. A bežiaci neznamená, že je povolený. Sú to dve rôzne veci.
Povolené znamená, že systém spustí službu pri ďalšom štarte. Ak teda službu povolíte, musíte ju ešte spustiť ručne alebo ju reštartovať a ona sa spustí.
Spustená znamená, že práve teraz beží, ale ak nie je povolená, pri reštarte sa nespustí.
man systemctl
uvádza:
--state=
Argumentom by mal byť zoznam stavov jednotiek
LOAD
,SUB
aleboACTIVE
oddelený čiarkou. Pri výpise jednotiek sa zobrazia len tie, ktoré sú v zadaných stavoch. Ak chcete zobraziť len neúspešné jednotky, použite--state=failed
.
Vysvetlenie:
LOAD
: Odráža, či bola definícia jednotky správne načítaná.
ACTIVE
: Stav aktivácie jednotky na vysokej úrovni, t. j. zovšeobecnenie funkcie SUB
.
SUB
: Stav aktivácie jednotky na nízkej úrovni, hodnoty závisia od typu jednotky.
Hoci toto môžete použiť aj na zobrazenie len aktivovaných
jednotiek s:
systemctl list-unit-files --state=enabled
Ak je jednotka povolená
, znamená to, že ju systém spustí pri štarte. Hoci nastavenie niečoho na enabled
v skutočnosti neznamená aj štart
, takže to budete musieť urobiť ručne, alebo reštartovať systém po nastavení na enabled
.
Vypísanie všetkých služieb systemd
, ktoré sú v stave state=active
a sub=running
systemctl list-units --type=service --state=running
Vypísať všetky služby systemd
, ktoré sú v state=active
a sub buď bežia, alebo sú ukončené
systemctl list-units --type=service --state=active