Overzicht van systemctl
systemd is het init-systeem dat het opstartproces van het systeem beheert en alle services (demonen) die op de achtergrond worden uitgevoerd na het opstarten van het systeem controleert. `systemctl` is de interface die het mogelijk maakt om deze functionaliteit van systemd via de opdrachtregel te bedienen. Vele eerdere opdrachten zoals `service`, `chkconfig`, `reboot`, `shutdown` zijn samengevoegd in `systemctl`.
Begrip van systemd Eenheden
systemd abstraheert alles wat het beheert als een 'eenheid'. Elke eenheid vertegenwoordigt een specifieke service, mountpoint, apparaat, enzovoort. De meest voorkomende types eenheden zijn `service eenheden (.service)`, `socket eenheden (.socket)`, `mount eenheden (.mount)`, `apparaat eenheden (.device)`, `target eenheden (.target)`, enzovoort. Vaak wordt de extensie `.service` weggelaten.
Belangrijkste Rollen van systemctl
- Controle van service status: Identificeert actieve, geactiveerde en mislukte services.
- Servicebeheer: Start, stopt, herstart en herlaadt (leest configuratie opnieuw) services.
- Instellen van automatische service start: Stelt in of de service automatisch moet starten bij het opstarten van het systeem.
- Systeem energiebeheer: Herstart, sluit af of zet het systeem in de slaapstand.
- Beheer van eenheid bestanden: Controleert en wijzigt de locatie en afhankelijkheden van eenheid bestanden.
Belangrijkste systemctl Opdrachtopties
`systemctl` biedt een breed scala aan opties voor servicebeheer, systeem energiebeheer en eenheid bestandbeheer. De meeste service-gerelateerde opdrachten vereisen `sudo` rechten.
1. Service Status en Beheer
2. Instellen van Automatische Service Start
3. Systeem Energiebeheer
4. Eenheid Bestanden en Lijsten
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`systemctl` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Voorbeeldtoepassingen
Leer hoe je services effectief beheert op een systemd-gebaseerd systeem door verschillende voorbeelden van de toepassing van het `systemctl` commando.
Controle van de status van de webserver (Nginx)
systemctl status nginx.service
Controleer of de Nginx webserver momenteel actief, inactief of met fouten draait, en verkrijg gedetailleerde informatie.
Start MySQL service
sudo systemctl start mysql.service
Start de MySQL database service.
Herstart SSH service
sudo systemctl restart sshd.service
Herstart de SSH (Secure Shell) service. Handig na wijzigingen in de configuratiebestanden.
Instellen van automatische start van Apache webserver
sudo systemctl enable apache2.service
Stelt in dat de Apache webserver automatisch moet starten bij het opstarten van het systeem.
Controleer lijst van alle actieve services
systemctl list-units --type=service --state=active
Geeft een lijst van alle service eenheden die momenteel 'actief' zijn (in uitvoering of gereed) in het systeem.
Veilig herstarten van het systeem via systemd
sudo systemctl reboot
De aanbevolen manier om het systeem veilig opnieuw op te starten.
Bekijk inhoud van specifiek service eenheid bestand
systemctl cat redis-server.service
Controleer de inhoud van het systemd eenheid bestand van de Redis service (bijv: `/etc/systemd/system/redis.service`) om te begrijpen hoe de service werkt.