Bij het gebruik van een Linux-systeem kom je vaak de termen "daemon" en "systemd unit" tegen. Beide concepten spelen een belangrijke rol in het Linux-besturingssysteem, maar hun betekenis en functie zijn verschillend. In dit artikel zullen we de concepten van daemon en systemd units, de verschillen en de verschillende soorten op een begrijpelijke manier verkennen.
1. Wat is een daemon?
Een daemon is een programma dat op de achtergrond draait. Het start automatisch op zonder dat de gebruiker het handmatig hoeft te doen en voert specifieke taken voor het systeem uit, zoals het beheren van webservers, databases en netwerken. Daemons interageren niet direct met de gebruiker en worden uitgevoerd wanneer het systeem opstart, waarbij ze continu actief blijven.
Belangrijke kenmerken van daemons:
- Draait op de achtergrond: Daemons blijven actief zolang het systeem aan staat.
- Automatische start: De meeste daemons starten automatisch op bij het opstarten van het systeem.
- Naamgevingsregel: Gewoonlijk eindigt de naam van een daemon op "d". Bijvoorbeeld,
sshd
is de daemon die SSH-service biedt, enhttpd
is de daemon voor een webserver.
2. Wat is een systemd unit?
Systemd is een servicebeheerder die wordt gebruikt om systemen en services in moderne Linux omgevingen te beheren. Systemd behandelt verschillende taken, van het opstarten van het systeem tot het starten en stoppen van services, door gebruik te maken van het concept units. Een unit is een configuratie-eenheid die specifieke elementen van het systeem beheert en omvat naast daemons ook timers, mount points en sockets.
Belangrijkste soorten units:
- Service unit (.service): Beheert background services zoals daemons.
- Timer unit (.timer): Voert taken uit op specifieke tijden of volgens een bepaalde frequentie.
- Mount unit (.mount): Beheert de mounts van bestandssystemen.
- Socket unit (.socket): Beheert netwerksockets en start diensten indien nodig.
- Target unit (.target): Groepeert verschillende units om een specifieke toestand van het systeem te definiëren.
3. Verschillen tussen daemons en systemd units
- Daemon: Een programma dat simpelweg op de achtergrond draait, en een soort systeemservice is. Het behandelt voornamelijk continu specifieke taken.
- Systemd unit: Een configuratie-eenheid die verschillende elementen van het systeem (services, timers, mounts, etc.) beheert. Een daemon is slechts één soort systemd unit en niet alle units zijn daemons.
Systemd kan verschillende units beheren, inclusief daemons, en daemons vervullen de rol van het verwerken van verschillende systeemfuncties op de achtergrond. Systemd is echter een krachtig hulpmiddel dat niet alleen daemons beheert, maar ook timers, mount points en andere belangrijke aspecten van het systeem.
4. Voorbeelden van daemons en systemd units
sshd.service
: Een service unit die de SSH daemon beheert en op de achtergrond SSH diensten biedt zodat gebruikers op afstand kunnen inloggen.cron.service
: Decron
daemon is een programma dat periodieke taken plant en uitvoert, en is ook een service unit die door systemd wordt beheerd.tmp.mount
: Een mount unit die de/tmp
directory monteert, het beheert het bestandssysteem en is geen daemon, maar speelt wel een belangrijke rol in het systeem.
5. Samenvatting
Een daemon is een programma dat op de achtergrond draait en een vorm van systeemservice is. Een systemd unit daarentegen is een configuratie-eenheid die verschillende elementen van het systeem beheert, inclusief daemons, maar betekent niet uitsluitend daemons. Systemd is een tool die niet alleen daemons maar ook timers, mounts, sockets en andere systeemfuncties beheert.
Gebruikers die nieuw zijn met Linux kunnen de concepten van daemons en units verwarren, maar samengevat:
- Daemon is een programma dat op de achtergrond draait, en
- systemd unit is een configuratie-eenheid die verschillende elementen van het systeem beheert.
Systemd zorgt ervoor dat Linux-systemen efficiënt functioneren door verschillende systeemcomponenten, inclusief daemons, te beheren.
Vooruitblik op de volgende post: In de volgende blogpost zullen we het hebben over de opdracht die systemd units beheert genaamd systemctl
. We zullen het gebruik van systemctl
bespreken om units te starten, te stoppen en te activeren of deactiveren.
댓글이 없습니다.