Kako ispisati sve pokrenute servise pod Systemd u Linuxu


Linux sustavi pružaju razne sistemske usluge (kao što su upravljanje procesima, prijava, syslog, cron, itd.) i mrežne usluge (kao što su udaljena prijava, e-pošta, pisači, web hosting, pohrana podataka , prijenos datoteka, razrješenje naziva domene (pomoću DNS-a), dinamička dodjela IP adrese (pomoću DHCP) i još mnogo toga).

Tehnički, usluga je proces ili grupa procesa (općenito poznatih kao daemoni) koji se neprekidno izvode u pozadini, čekajući da stignu zahtjevi (osobito od klijenata).

Linux podržava različite načine upravljanja (pokretanje, zaustavljanje, ponovno pokretanje, omogućavanje automatskog pokretanja pri dizanju sustava, itd.) uslugama, obično putem upravitelja procesa ili usluga. Većina, ako ne i sve moderne distribucije Linuxa sada koriste isti upravitelj procesa: systemd.

Što je Systemd?

Systemd je upravitelj sustava i usluga za Linux; zamjena za init proces, koji je kompatibilan s SysV i LSB init skriptama, a naredba systemctl primarni je alat za upravljati systemd.

Zašto navesti pokrenute usluge u Linuxu?

Poznavanje pokrenutih servisa na vašem Linux sustavu ključno je iz nekoliko razloga. Omogućuje vam praćenje korištenja resursa, rješavanje problema i učinkovito upravljanje performansama sustava. Systemd pojednostavljuje ovaj zadatak nudeći moćne naredbe za prikupljanje informacija o aktivnim uslugama.

U ovom ćemo vodiču demonstrirati proces ispisivanja svih pokrenutih servisa pod Systemd-om u Linuxu, pružajući opsežan vodič za korisnike svih razina iskustva.

Ispis pokrenutih usluga pod SystemD u Linuxu

Kada pokrenete systemctl naredbu bez ikakvih argumenata, ona će prikazati popis svih učitanih systemd jedinica (pročitajte systemd dokumentaciju za više informacija o systemd jedinicama), uključujući usluge, pokazujući njihov status (bilo da su aktivne ili ne ).

systemctl 

Popis svih jedinica u systemctl

Za popis svih učitanih usluga na vašem sustavu (bilo da su aktivne; pokrenute, zatvorene ili neuspjele), koristite podnaredbu list-units i prekidač --type s vrijednošću usluge.

systemctl list-units --type=service
OR
systemctl --type=service

A za popis svih učitanih ali aktivnih servisa, pokrenutih i onih koji su izašli, možete dodati opciju --state s vrijednošću active, kako slijedi.

systemctl list-units --type=service --state=active
OR
systemctl --type=service --state=active

Popis pokrenutih usluga u systemctl

Ali da biste brzo pregledali sve pokrenute usluge (tj. sve učitane i aktivno pokrenute usluge), pokrenite sljedeću naredbu.

systemctl list-units --type=service --state=running 
OR
systemctl --type=service --state=running

Istražimo ključne pojmove koji se odnose na jedinice Systemd i njihov status:

  • Jedinica – Jedinica može biti usluga, utičnica, uređaj ili razni drugi entiteti.
  • Učitaj – Pokazuje je li jedinica učitana ili ne. Jedinica može biti učitana, ali ne mora biti aktivna.
  • Aktivno – Pokazuje radi li jedinica aktivno ili je naišla na probleme te je u neispravnom ili neaktivnom stanju.
  • SUB – pruža dodatne pojedinosti o specifičnom stanju jedinice. Za usluge, može označavati radi li usluga (pokrenuta), zaustavljena (izašla) ili nailazi na probleme (nije uspjela).
  • Opis – Pomaže korisnicima da prepoznaju i razumiju svrhu jedinice bez zalaženja u detaljne konfiguracijske datoteke.

Stvorite pseudonim za systemctl

Ako često koristite prethodnu naredbu, možete kreirati alias naredbu u vašoj ~/.bashrc datoteci kao što je prikazano, kako biste je jednostavno pozvali.

vim ~/.bashrc

Zatim dodajte sljedeći redak ispod popisa aliasa kao što je prikazano na snimci zaslona.

alias running_services='systemctl list-units  --type=service  --state=running'

Spremite promjene u datoteku i zatvorite je. Od sada pa nadalje, koristite naredbu “running_services” za pregled popisa svih učitanih, aktivno pokrenutih usluga na vašem poslužitelju.

running_services	#use the Tab completion 

Pronađite port koji proces sluša

Osim toga, važan aspekt usluga je luka koju koriste. Da biste odredili port koji proces demona sluša, možete koristiti naredbu netstat ili ss kao što je prikazano.

Gdje zastavica -l znači ispis svih slušajućih utičnica, -t prikazuje sve TCP veze, -u prikazuje sve UDP veze, - n znači ispisati numeričke brojeve portova (umjesto naziva aplikacija), a -p znači prikazati naziv aplikacije.

netstat -ltup | grep zabbix_agentd
OR
ss -ltup | grep zabbix_agentd

Peti stupac prikazuje utičnicu: Lokalna adresa: Port. U ovom slučaju, proces zabbix_agentd sluša port 10050.

Popis pokrenutih usluga vatrozida

Također, ako vaš poslužitelj ima pokrenutu uslugu vatrozida, koja kontrolira kako blokirati ili dopustiti promet prema ili od odabranih usluga ili priključaka, možete navesti usluge ili priključke koji su otvoreni u vatrozidu, koristeći firewall-cmd< ili naredba ufw (ovisno o distribuciji Linuxa koju koristite) kao što je prikazano.

firewall-cmd --list-services   [FirewallD]
firewall-cmd --list-ports

sudo ufw status     [UFW Firewall]

To je sve za sada! U ovom smo vodiču pokazali kako pregledati pokrenute usluge pod systemd u Linuxu. Također smo opisali kako provjeriti sluša li usluga porta i kako vidjeti servise ili portove otvorene u vatrozidu sustava.

Imate li kakvih dodataka ili pitanja? Ako da, javite nam se putem obrasca za komentare u nastavku.