Linux-processen, pakketten en services beheren

Leer via de commandoregel de software te beheren die op een Linux-systeem draait. Bewaak processen met ps, top en free, stop ze met signalen en wijzig hun prioriteit met nice. Bekijk de hardware met hulpmiddelen zoals lscpu, lsblk en lspci. Installeer software, werk die bij en verwijder die met apt en dnf, beheer services met systemctl, lees logboeken met journalctl, /var/log en dmesg om problemen met een falende service op te lossen, en maak back-ups van bestanden met tar, gzip, xz en zip.

BeginnerLes 6 van 7 in Cursus Linux: commandoregel, shellscripts, gebruikers en services

Wat je leert

  1. Zoek de programma's die op een Linux-systeem draaien, bekijk hoeveel CPU en geheugen ze gebruiken en stop of pauzeer ze veilig of wijzig hun prioriteit.
    • Toon processen en interpreteer de uitvoer van ps
      Leg uit wat een proces is, herken het aan zijn proces-ID en gebruik ps, pgrep en /proc om processen te vinden en hun toestand te bekijken.
    • Bewaak CPU-gebruik, geheugen en systeembelasting met top, free en uptime
      Lees de actuele procesweergave in top, beoordeel het geheugen met free en bepaal aan de hand van de gemiddelde systeembelasting of een systeem overbelast is.
    • Stop processen met signalen
      Stuur signalen met kill, pkill en killall, kies tussen een vriendelijk verzoek om te stoppen en een gedwongen stop, en controleer het resultaat.
    • Voer taken op de achtergrond uit en stel prioriteiten in
      Verplaats commando's tussen de voorgrond en de achtergrond, laat ze na het afmelden doordraaien en wijzig hun CPU-prioriteit met nice en renice.
  2. Zoek uit welke processor, welk geheugen en welke schijven en apparaten een Linux-machine heeft, en welke kernel en stuurprogramma's die gebruikt, zonder de behuizing te openen.
    • Bepaal welke processor, welk geheugen en welk systeem je gebruikt
      Gebruik uname, lscpu, nproc, /proc en dmidecode om de architectuur, CPU's, het geheugen en de kernel van een machine te achterhalen.
    • Toon schijven, PCI-apparaten en USB-apparaten met hun stuurprogramma's
      Benoem opslagapparaten correct, toon de apparaten die op een machine zijn aangesloten met lsblk, lspci en lsusb, en zoek de bijbehorende stuurprogramma's en kernelmeldingen.
  3. Gebruik de pakketbeheerders van de Debian- en Red Hat-familie om software vanuit vertrouwde repository's veilig te installeren, bij te werken, te verwijderen en te bekijken.
    • Begrijp pakketten, repository's en afhankelijkheden
      Leg uit wat een pakket, een repository en een afhankelijkheid zijn, hoe pakketgereedschappen op hoog en laag niveau het werk verdelen en welke hulpmiddelen elke distributiefamilie gebruikt.
    • Installeer software, werk die bij en verwijder die met apt en dnf
      Ververs pakketinformatie, installeer en upgrade software en verwijder die volledig met apt op systemen uit de Debian-familie en dnf op systemen uit de Red Hat-familie.
    • Zoek pakketten en bekijk geïnstalleerde software
      Zoek het pakket dat je nodig hebt, controleer wat is geïnstalleerd en welke versie het heeft, bekijk welke bestanden een pakket heeft geïnstalleerd en bij welk pakket een bestand hoort, en bekijk de pakketgeschiedenis.
  4. Controleer, start en stop achtergrondservices, schakel ze in voor automatisch starten en pas ze aan met systemctl. Begrijp hoe systemd bepaalt wat bij het opstarten draait.
    • Begrijp systemd, units en de status van services
      Leg uit wat een service en een systemd-unit zijn, lees de uitvoer van systemctl status en maak onderscheid tussen een service die draait en een service die is ingeschakeld voor automatisch starten.
    • Start en stop services en schakel automatisch starten in en uit
      Beheer met systemctl services die nu draaien en services die bij het opstarten starten, pas configuratiewijzigingen veilig toe en kies de standaarddoelunit voor het opstarten.
    • Lees unitbestanden en pas ze aan
      Zoek en lees het unitbestand van een service, wijzig de instellingen veilig met aanvullende configuratiebestanden en schrijf zelf een eenvoudige service.
  5. Zoek met het systemd-logboek, logbestanden in /var/log en kernelmeldingen de berichten die verklaren wat een systeem en zijn services hebben gedaan, en gebruik die om een falende service te herstellen.
    • Raadpleeg het systemd-logboek met journalctl
      Lees het systemd-logboek met journalctl, gefilterd op service, opstartsessie, prioriteit en tijd, en weet waar het logboek wordt opgeslagen.
    • Lees logbestanden in /var/log en kernelmeldingen
      Zoek en lees tekstlogbestanden in /var/log, inclusief oudere bestanden die door logrotatie zijn ontstaan, en gebruik dmesg om kernelmeldingen over hardware en stuurprogramma's te lezen.
    • Onderzoek en verhelp stapsgewijs problemen met een falende service
      Combineer systemctl, journalctl en de eigen controles van het programma tot een herhaalbare werkwijze die de oorzaak van een falende service vindt en de oplossing controleert.
  6. Bundel bestanden en directory's in archieven met tar en zip, comprimeer en decomprimeer ze met gzip, bzip2 en xz, en kies het juiste formaat voor back-ups en delen.
    • Maak tar-archieven, bekijk de inhoud en pak ze uit
      Gebruik tar om gecomprimeerde archieven te maken, hun inhoud te controleren en ze op de juiste plaats uit te pakken zonder per ongeluk bestanden te overschrijven.
    • Comprimeer bestanden met gzip, bzip2, xz en zip
      Comprimeer en decomprimeer afzonderlijke bestanden, lees gecomprimeerde logboeken zonder ze uit te pakken, gebruik zip om te delen en kies een formaat op basis van snelheid, grootte en doel.

Linux-processen, pakketten en services: uitleg

6 hoofdstukken

1

Bewaak en beheer actieve processen

Bij een traag commando, een drukke server en een programma dat niet wil afsluiten, begin je met dezelfde vraag: wat draait er? Met procesgereedschappen koppel je een programmanaam aan de eigenaar, proces-ID en het gebruik van systeemmiddelen. Je leest een momentopname, volgt veranderingen in de tijd en kiest vervolgens hoe je werk stopt of pauzeert. Met taakbeheer in de shell en CPU-prioriteiten krijg je meer grip op langdurige taken zonder de terminalprompt kwijt te raken.

1.1 Toon processen en interpreteer de uitvoer van ps

Een programma zoals /usr/bin/sleep is een bestand op schijf. Een proces is een draaiende instantie van dat programma, met eigen geheugen en hulpmiddelen. Drie commando's die hetzelfde programma uitvoeren, maken drie processen. Elk actief proces heeft een PID, een proces-ID; Linux kan dat nummer na beëindiging opnieuw gebruiken.

Zoek het proces en het bovenliggende proces

Een proces wordt normaal gestart door een ander proces, het bovenliggende proces. De kolom PPID geeft de PID van dat bovenliggende proces. Commando's die je in een shell start, zijn kindprocessen van die shell. PID 1 is het eerste proces dat de kernel start; op een systeem met systemd is dat systemd. pstree -p tekent deze familieverhoudingen als het is geïnstalleerd.

ps maakt een momentopname. De standaardselectie bestaat uit processen met je effectieve gebruikers-ID op je huidige terminal. Kies voor een overzicht van het hele systeem de kolommen die je nodig hebt:

CommandoHandige kolommen
ps -efUID, PID, PPID, STIME, TIME, CMD
ps auxUSER, PID, %CPU, %MEM, VSZ, RSS, TTY, STAT, START, TIME, COMMAND

De BSD-vorm ps aux heeft geen koppelteken. Het veld USER vermeldt het account waarvan het proces de rechten gebruikt. Een rootproces heeft toegang tot systeemmiddelen waar een proces van een gewone gebruiker niet bij kan.

Lees één regel

Bekijk dit voorbeeld uit ps aux:

www-data 2417 0.3 1.2 214560 48212 ? S 09:14 0:02 nginx: worker process

De eigenaar is www-data, de PID is 2417 en het CPU-gebruik is sinds de start gemiddeld 0,3%. Het proces neemt momenteel 1,2% van het RAM in. RSS is het aanwezige fysieke geheugen: 48.212 KiB, ongeveer 47,1 MiB. VSZ, 214.560 KiB, omvat ook virtuele adresruimte die niet in het RAM aanwezig is. Een grote VSZ alleen is geen bewijs van een geheugentekort.

Het ? betekent dat er geen besturende terminal is. Toestand S betekent slapend, meestal wachtend op werk. START is 09:14; TIME is twee seconden CPU-tijd. TIME is niet de verstreken tijd: een server kan dagen draaien en toch heel weinig CPU gebruiken.

Herken procestoestanden
ToestandBetekenis
RDraait of staat klaar voor CPU-tijd
SSlaapt terwijl het op een gebeurtenis wacht
DSlaapt ononderbreekbaar, vaak wachtend op opslag
TGestopt of gepauzeerd
ZZombieproces: beëindigd, wacht tot het bovenliggende proces de afsluitstatus ophaalt
IInactieve kernelthread

STAT kan vlaggen toevoegen: + voor een terminalgroep op de voorgrond, s voor een sessieleider, l voor meerdere threads, N voor een verlaagde CPU-prioriteit en < voor een verhoogde prioriteit. Slapen is normaal. Een zombieproces is al beëindigd en gebruikt geen CPU; door het nog een beëindigingssignaal te sturen, wordt de afsluitstatus niet opgehaald. Een groeiend aantal zombieprocessen wijst op een bovenliggend programma dat aandacht nodig heeft.

Beperk de zoekopdracht

pgrep -a nginx toont overeenkomende PID's en commandoregels. Patronen kunnen met meerdere namen overeenkomen: pgrep ssh kan zowel sshd als ssh-agent vinden. pgrep -u alice selecteert op eigenaar; pidof nginx zoekt op een programmanaam. Een pijplijn die ps via grep leidt, kan ook het grep-proces zelf tonen.

Voer voor de vijf grootste geheugengebruikers uit:

ps -eo pid,ppid,user,%mem,cmd --sort=-%mem | head -n 6

Er zijn zes regels omdat de eerste een kopregel is. ps -p 2417 controleert één PID. /proc/2417/status toont de naam, toestand, het bovenliggende proces en geheugengegevens. /proc is een virtuele weergave van de kernel, geen verzameling procesrapporten op schijf; de PID-directory verdwijnt wanneer het proces eindigt.

Belangrijkste punten

  • Een proces is één draaiende instantie; de PID identificeert het zolang het bestaat.
  • ps -ef toont bovenliggende processen; ps aux voegt CPU- en geheugenkolommen toe.
  • TIME meet de gebruikte CPU-tijd, terwijl START vastlegt wanneer het proces begon.
  • RSS meet het aanwezige RAM; VSZ omvat ook ander virtueel geheugen.
  • Slapende processen zijn normaal; zombieprocessen zijn al beëindigd.
  • pgrep beperkt een zoekopdracht en /proc/PID/status toont informatie van de kernel.

1.2 Bewaak CPU-gebruik, geheugen en systeembelasting met top, free en uptime

Een momentopname laat zien wat er is; herhaalde waarnemingen laten zien wat verandert. top combineert een actuele proceslijst met totalen voor CPU-activiteit, systeembelasting, geheugen en wisselruimte. Lees het overzicht en bekijk de drukke processen samen voordat je bepaalt welk systeemmiddel zwaar wordt belast.

Werk met top

Voer top uit. Druk op P om op CPU-gebruik te sorteren, M om op geheugen te sorteren, 1 om elke CPU te tonen, h voor hulp en q om af te sluiten. De commando's k en r sturen signalen en wijzigen nice-waarden. htop biedt een andere interactieve weergave, maar moet je mogelijk eerst installeren.

De proceskolommen omvatten PID, USER, PR, NI, VIRT, RES, SHR, toestand, %CPU, %MEM, TIME+ en COMMAND. RES is het aanwezige fysieke RAM, net als RSS in ps; VIRT omvat gereserveerde adresruimte. In de standaardmodus van top per CPU kan een proces met meerdere threads 400% bereiken door vier CPU's bezig te houden. Met I schakel je over naar een weergave die het gebruik door het aantal CPU's deelt.

Bepaal het soort CPU-activiteit

Het CPU-overzicht verdeelt de tijd in categorieën:

VeldWat het aangeeft
us, syWerk van gebruikersprogramma's en van de kernel
niGebruikerswerk met aangepaste nice-prioriteit
idInactieve tijd
waInactieve tijd terwijl I/O nog niet is afgerond
hi, siWerk voor hardware- en softwareonderbrekingen
stTijd die een virtuele machine aan de hostcomputer verloor

Een hoog CPU-gebruik door gebruikersprogramma's wijst op rekenwerk. Een hoge wa met weinig gebruikerswerk vestigt de aandacht op wachten op opslag. In een virtuele machine wijst een hoge st op CPU-tijd die de hostcomputer niet beschikbaar stelde. Dit zijn verschillende oorzaken van een trage reactie.

Vergelijk de belasting met de CPU-capaciteit

uptime en top tonen de gemiddelde systeembelasting over de afgelopen 1, 5 en 15 minuten. Linux telt taken die kunnen draaien en taken die ononderbreekbaar slapen, waaronder taken die op opslag wachten. De belasting is geen CPU-percentage. nproc toont de CPU's die beschikbaar zijn voor het huidige proces, wat helpt bij het beoordelen van de capaciteit.

Stel dat nproc bij werk dat vooral CPU-tijd vraagt en weinig op opslag wacht 4 toont en de belasting 6.00, 5.20, 3.10 is. De recente belasting is 1,5 taken per CPU, dus werk heeft in de wachtrij gestaan. De waarde over de kortere periode is hoger dan die over de langere periode, wat op een recente stijging wijst. Op 16 CPU's zou een belasting van 6 veel lichter zijn. Een hoge belasting terwijl CPU's niets doen, kan ook door taken in toestand D komen.

Beoordeel geheugen met available

Voer free -h uit. De regel Mem bevat total, used, free, shared, buff/cache en available. Linux vult ongebruikt RAM met nuttige schijfcaches en kan een groot deel daarvan weer vrijmaken. Free telt volledig ongebruikt RAM; available schat hoeveel nieuw werk kan gebruiken zonder wisselruimte te gebruiken.

Een machine meldt bijvoorbeeld total 7.6Gi, used 3.1Gi, free 0.4Gi, buff/cache 4.6Gi en available 4.5Gi. De kleine waarde voor free wijst niet op een tekort: ongeveer 59% blijft beschikbaar. In huidige versies van procps is used gelijk aan total min available; free, used en cache vormen geen eenvoudige verdeling die je kunt optellen.

De achtervoegsels Ki, Mi en Gi zijn binaire eenheden. Een GiB is 1.073.741.824 bytes; een GB is 1.000.000.000 bytes. free -m gebruikt MiB en free -g hele GiB, waardoor kleine hoeveelheden door afronding onzichtbaar kunnen worden.

Wisselruimte verplaatst een deel van de geheugeninhoud naar tragere schijfopslag. Let op weinig beschikbaar geheugen in combinatie met een groeiend gebruik van wisselruimte. Als het geheugen uitgeput raakt, kan de OOM-killer van de kernel een proces beëindigen. Controleer met sudo journalctl -k op een OOM-melding voordat je aanneemt dat een applicatie zelf is vastgelopen.

Belangrijkste punten

  • Gebruik in top zowel het systeemoverzicht als de proceslijst.
  • De Linux-systeembelasting telt taken die kunnen draaien en ononderbreekbaar wachtende taken; het is geen percentage.
  • Beoordeel de systeembelasting in verhouding tot de beschikbare CPU's en controleer of taken op opslag wachten.
  • De kolom available is nuttiger dan free om te beoordelen hoeveel RAM nog beschikbaar is.
  • Weinig beschikbaar geheugen en groeiend gebruik van wisselruimte wijzen op geheugendruk; OOM-gebeurtenissen staan in kernellogboeken.

1.3 Stop processen met signalen

Een signaal is een korte melding die aan een proces wordt afgeleverd. Het kan vragen om af te sluiten, werk pauzeren of een service vragen instellingen opnieuw te lezen. Het commando kill stuurt signalen; de naam betekent niet dat elk signaal de ontvanger beëindigt.

Kies het signaal
SignaalDoel
SIGTERMVerzoek om netjes af te sluiten; de standaard voor kill
SIGKILLBeëindiging afdwingen zonder opruimwerk door de applicatie
SIGINTHet voorgrondprogramma onderbreken, meestal met Ctrl+C
SIGTSTPVerzoek om te pauzeren, meestal met Ctrl+Z
SIGSTOPEen pauze afdwingen
SIGCONTEen gestopt proces voortzetten
SIGHUPSluiting van de terminal melden; sommige services gebruiken het om te herladen
SIGQUITAfsluiten, mogelijk met een geheugendump; Ctrl+\ stuurt dit signaal

Het programma kan de meeste signalen afhandelen of negeren. SIGKILL en SIGSTOP kunnen niet worden opgevangen, geblokkeerd of genegeerd. kill -l toont namen en nummers. Veelgebruikte nummers op x86 en ARM zijn TERM 15, KILL 9, INT 2, HUP 1, QUIT 3, CONT 18, STOP 19 en TSTP 20. Met namen vermijd je architectuurafhankelijke nummers.

Stop één proces zorgvuldig

Stel eerst vast om welk proces het gaat. Met ps -p 5120 -o pid,user,stat,cmd bekijk je de PID, eigenaar, toestand en het commando. Vraag daarna om netjes af te sluiten:

kill -TERM 5120

kill 5120, kill -15 5120 en kill -s TERM 5120 sturen hetzelfde verzoek. Bij netjes afsluiten kan de applicatie werk opslaan, bestanden sluiten en vergrendelingsbestanden verwijderen. Geef de applicatie tijd om te reageren en voer daarna opnieuw ps -p 5120 uit. Als alleen de kopregel verschijnt, is het proces beëindigd.

Als hetzelfde actieve proces na het wachten nog steeds vastzit, is kill -KILL 5120 de gedwongen terugvaloptie. De applicatie krijgt dan geen kans om op te ruimen, waardoor niet-opgeslagen werk verloren kan gaan en tijdelijke bestanden kunnen achterblijven. Controleer de identiteit opnieuw voordat je een sterker signaal stuurt: PID's kunnen na beëindiging opnieuw worden gebruikt.

Controleer namen voordat je handelt

pkill selecteert op een naampatroon; killall selecteert een programmanaam. Beide sturen normaal SIGTERM. Bekijk een breed patroon eerst met pgrep -a fire voordat je pkill fire gebruikt: dat patroon kan meer processen selecteren dan je bedoelde. pkill -u bob selecteert alle processen van bob, niet één applicatie.

killall -HUP rsyslogd stuurt HUP naar de overeenkomende logprocessen. Het effect van HUP hangt af van de applicatie: controleer of die herladen ondersteunt voordat je het signaal als een opdracht tot herladen gebruikt. Gebruik voor een door systemd beheerde service sudo systemctl stop NAME; de beheerder handelt de procesgroep van de service af en ziet de gevraagde stop niet als een fout die automatisch moet worden hersteld.

Begrijp rechten en toestanden

Een gewoon account beheert normaal zijn eigen processen. Een poging om het proces van een ander account een signaal te sturen kan “Operation not permitted” opleveren; sudo geeft zo nodig rootrechten. Controleer het doel voordat je die rechten gebruikt, want als je de verkeerde service stopt, heeft dat gevolgen voor andere gebruikers.

Een proces in toestand D kan na SIGKILL zichtbaar blijven terwijl het wacht tot opslag reageert. Het signaal herhalen herstelt die opslag niet. Een zombieproces in toestand Z is al beëindigd; het bovenliggende proces moet de afsluitstatus ophalen. Daarom is het belangrijk de toestand te bekijken als het proces niet verdwijnt.

Sneltoetsen werken op de procesgroep op de voorgrond. Ctrl+C beëindigt het werk meestal; Ctrl+Z pauzeert het en behoudt het geheugen en de open bestanden. Sluiting van de terminal leidt vaak tot HUP en beëindiging van gekoppelde taken. Daarom moet je bewust omgaan met langdurige taken.

Belangrijkste punten

  • SIGTERM vraagt om op te ruimen; SIGKILL dwingt beëindiging zonder opruimen af.
  • Bekijk overeenkomsten met een patroon vooraf en controleer de PID voordat je een signaal stuurt.
  • SIGSTOP pauzeert en SIGCONT hervat; kill kan meer dan beëindigen.
  • Een zombieproces kan niet opnieuw worden beëindigd en wachten op opslag kan beëindiging vertragen.
  • Gebruik systemctl stop voor een beheerde service.

1.4 Voer taken op de achtergrond uit en stel prioriteiten in

Een voorgrondtaak houdt de terminal bezet totdat de taak klaar is of stopt. Een achtergrondtaak laat de shell tijdens de uitvoering een ander commando accepteren. Met taakbeheer wijzig je waar werk draait; met CPU-prioriteit wijzig je hoe het met ander werk concurreert.

Verplaats werk tussen voorgrond en achtergrond

Een en-teken start een commando op de achtergrond:

sleep 300 &

De shell kan [1] 6431 tonen. Hier is 1 het lokale taaknummer en 6431 de PID voor het hele systeem. jobs toont alleen de taken van deze shell. fg %1 brengt taak 1 naar de voorgrond. Als je die voorgrondtaak met Ctrl+Z pauzeert, hervat bg %1 die op de achtergrond. Zonder nummer kiezen fg en bg de taak met +.

Probeer de reeks met sleep 300: voer het op de voorgrond uit, druk op Ctrl+Z, voer bg uit, bekijk jobs, voer daarna fg uit en druk op Ctrl+C. “Stopped” betekent gepauzeerd, niet voltooid. Een gestopte taak gebruikt geen CPU, maar behoudt het geheugen en de open bestanden. Bash kan met “There are stopped jobs” waarschuwen wanneer je probeert af te sluiten.

Houd uitvoer en afmelden onder controle

Een achtergrondcommando kan nog steeds naar de terminal schrijven. Leid beide uitvoerstromen voor een langdurige taak om:

./report.sh > report.log 2>&1 &

De eerste omleiding stuurt normale uitvoer naar het bestand. 2>&1 stuurt foutuitvoer naar dezelfde bestemming. De laatste & geeft de prompt terug terwijl de taak draait.

Een taak op de achtergrond plaatsen beschermt die op zichzelf niet tegen het sluiten van de terminal. Gebruik het volgende om werk te starten dat SIGHUP negeert:

nohup ./long-task.sh > task.log 2>&1 &

Zonder expliciete uitvoeromleiding schrijft nohup uitvoer die voor de terminal is bestemd meestal naar nohup.out. In Bash verwijdert disown %1 een bestaande taak uit de takentabel van de shell, zodat Bash HUP niet aan die taak doorgeeft. Het programma heeft nog steeds bruikbare bestemmingen voor invoer en uitvoer nodig. Een programma dat permanent moet draaien, kun je beter als service beheren.

Geef interactief werk ruimte om te draaien

De nice-waarde geeft de prioriteit bij de CPU-planning voor gewone processen aan. Waarden lopen van -20, de hoogste prioriteit, tot 19, de laagste prioriteit; de gebruikelijke beginwaarde is 0. Hogere waarden geven concurrerend werk meer gelegenheid. Een proces met nice 19 kan een verder ongebruikte CPU nog steeds volledig benutten.

nice -n 10 xz -9 big.log
renice -n 15 -p 6431

Het eerste commando start compressie met een positieve aanpassing van de nice-waarde; vanaf de gebruikelijke waarde 0 wordt die 10. Het tweede wijzigt de nice-waarde van het actieve proces in 15. nice zonder -n past een aanpassing van 10 toe. Een gewone gebruiker kan de nice-waarde van een eigen proces doorgaans verhogen en daarmee de CPU-prioriteit verlagen. De prioriteit verhogen door de waarde te verlagen vereist normaal root, bijvoorbeeld sudo renice -n -5 -p 6431.

In top toont NI de nice-waarde; voor gewone processen die processortijd delen is PR meestal 20 plus NI. Nice 10 verschijnt daarom als PR 30. In ps aux duidt N op een verlaagde prioriteit en < op een verhoogde prioriteit. De nice-waarde beïnvloedt de concurrentie om CPU-tijd, niet de prioriteit voor schijftoegang; ionice beheert een afzonderlijk systeemmiddel.

Belangrijkste punten

  • & start werk op de achtergrond; jobs, fg en bg gebruiken taaknummers die binnen de shell gelden.
  • Ctrl+Z pauzeert een taak; het beëindigt die niet.
  • Gebruik uitvoeromleiding en nohup bewust voor een langdurige terminaltaak.
  • Hogere nice-waarden verlagen de CPU-prioriteit bij concurrentie, niet de maximale snelheid op een verder ongebruikte CPU.
2

Onderzoek hardware via de commandoregel

Hardware-informatie helpt je een compatibel pakket te kiezen, het gebruik van systeemmiddelen te interpreteren en een fout helder te beschrijven. Linux stelt de actieve kernel, CPU-indeling, het bruikbare geheugen en aangesloten apparaten beschikbaar via commandoregelhulpmiddelen. Je maakt onderscheid tussen logische CPU's en fysieke kernen, decimale opslagvermeldingen en binaire groottes, en een gedetecteerd apparaat en een apparaat met een werkend stuurprogramma. Dezelfde controles helpen wanneer de hardware virtueel is.

2.1 Bepaal welke processor, welk geheugen en welk systeem je gebruikt

Zoek voordat je software installeert of de benodigde capaciteit voor werk bepaalt uit wat het systeem werkelijk biedt. De architectuur bepaalt welke pakketten met machinecode draaien. De beschikbaarheid van CPU's helpt de systeembelasting verklaren en het bruikbare RAM begrenst welk werk in het geheugen past.

Maak onderscheid tussen kernel en distributie
CommandoInformatie
uname -rRelease van de actieve kernel, zoals 6.8.0-45-generic
uname -mArchitectuur, zoals x86_64 of aarch64
uname -aAlle velden van uname
cat /etc/os-releaseNaam en release van de distributie
hostnamectlOverzicht van hostcomputer, besturingssysteem, kernel en architectuur

Ubuntu 24.04 is een distributierelease; een waarde zoals 6.8.0-45-generic duidt de kernel aan die daarin draait. Een nieuwe kernel installeren vervangt de actieve kernel niet onmiddellijk: dat gebeurt bij een herstart.

Architectuuraanduidingen verschillen tussen pakketfamilies. Debian-pakketten gebruiken amd64 voor de architectuur die uname als x86_64 meldt, en arm64 voor aarch64. RPM-pakketten gebruiken meestal rechtstreeks x86_64 en aarch64. Controleer vóór installatie of de gebouwde versie bij de machine past.

Tel kernen en logische CPU's

lscpu toont architectuur, model, sockets, kernen per socket, threads per kern en logische CPU's. Bij een uniforme CPU-indeling geldt:

logische CPU’s=sockets×kernen per socket×threads per kern

Eén socket met zes kernen en twee threads per kern geeft 12 logische CPU's. Er zijn nog steeds zes fysieke kernen. Twee hardwarethreads delen systeemmiddelen binnen een kern, dus 12 logische CPU's garanderen niet tweemaal de prestaties van zes kernen.

nproc toont verwerkingseenheden die beschikbaar zijn voor het huidige proces; CPU-affiniteit of beperkingen van systeemmiddelen kunnen dit aantal kleiner maken dan het aantal voor de hele machine. /proc/cpuinfo geeft rechtstreeks CPU-gegevens. Op x86 telt grep -c ^processor /proc/cpuinfo de processorvermeldingen en tonen de vlaggen vmx of svm ondersteuning voor hardwarevirtualisatie. ARM toont andere velden.

Lees bruikbaar en geïnstalleerd geheugen

free -h geeft een handig RAM-overzicht. /proc/meminfo geeft details: MemTotal is bruikbaar RAM en MemAvailable schat de capaciteit die nieuw werk kan gebruiken. Dit bestand duidt de waarden aan met kB, maar het zijn kibibytes van elk 1.024 bytes.

Zo is MemTotal: 16303448 kB na tweemaal delen door 1.024 ongeveer 15,5 GiB. Een machine met 16 GiB aan fysieke modules kan minder bruikbaar RAM tonen omdat de firmware en kernel een deel reserveren.

Voer sudo dmidecode -t memory uit om geïnstalleerde modules en slots te bekijken. sudo dmidecode -t system toont door de firmware verstrekte gegevens over fabrikant, model en serienummer. Bij een virtuele machine toont het de virtuele hardware. sudo lshw -short biedt, indien geïnstalleerd, een compact hardwareoverzicht.

Controleer elke eis afzonderlijk

Stel dat software een 64-bit ARM-systeem, minimaal vier beschikbare CPU's en 8 GB RAM nodig heeft. Als uname -m de waarde aarch64 teruggeeft, voldoet het systeem aan de architectuureis. Als nproc 4 teruggeeft, voldoet het aan de CPU-eis. Een totaal van 3.7Gi is slechts ongeveer 4,0 GB, dus het geheugen is onvoldoende. Aan twee eisen voldoen compenseert niet dat aan de derde niet is voldaan.

Belangrijkste punten

  • Gebruik /etc/os-release voor de distributie en uname -r voor de actieve kernel.
  • Architectuuraanduidingen van pakketten verschillen: Debian amd64 komt overeen met x86_64.
  • Sockets, kernen en hardwarethreads bepalen het aantal logische CPU's.
  • nproc toont de CPU's die voor het huidige proces beschikbaar zijn.
  • Bruikbaar RAM kan kleiner zijn dan het geïnstalleerde geheugen; /proc/meminfo gebruikt binaire kilobytes.

2.2 Toon schijven, PCI-apparaten en USB-apparaten met hun stuurprogramma's

Linux geeft hardwareapparaten namen onder /dev en publiceert zijn apparaatweergave onder /sys. Verschillende hulpmiddelen beantwoorden verschillende vragen: welke opslagapparaten bestaan er, welke bussen hebben apparaten gedetecteerd en welke stuurprogramma's bedienen ze?

Herken schijven en partities

SATA-, SAS- en USB-schijven verschijnen meestal als /dev/sda, /dev/sdb en met latere letters. Hun partities krijgen een nummer erbij, zoals /dev/sda1. NVMe gebruikt namen zoals /dev/nvme0n1, met /dev/nvme0n1p1 voor een partitie. Een virtuele machine kan /dev/vda gebruiken.

lsblk toont blokapparaten als een boom. TYPE onderscheidt een schijf van een partitie; RM geeft aan of een apparaat verwijderbaar is en RO of het alleen-lezen is. SIZE geeft de capaciteit en MOUNTPOINTS toont waar een apparaat wordt gebruikt. Kies extra details met:

lsblk -o NAME,SIZE,MODEL
lsblk -f

Met het eerste commando kun je model en grootte gemakkelijk vergelijken. Het tweede voegt bestandssysteemtype, label en UUID toe. Namen zoals sdb kunnen veranderen door de detectievolgorde. Controleer voordat je naar een schijf schrijft de identiteit aan de hand van meer dan de letter: schrijven naar het verkeerde apparaat vernietigt de gegevens erop.

Een schijf die als 512 GB wordt verkocht, bevat 512 miljard bytes. In GiB is dat ongeveer 476,8, wat lsblk toont als 476.8G. Het apparaat heeft geen capaciteit verloren: het etiket en de weergave gebruiken verschillende eenheden.

Zoek apparaten en gekoppelde stuurprogramma's
HulpmiddelWaar je op let
lspciPCI- en PCI Express-apparaten, zoals netwerk- en opslagcontrollers
lspci -kHet gebruikte stuurprogramma en mogelijke kernelmodules
lsusbID's en beschrijvingen van USB-apparaten
lsusb -tUSB-verbindingen als boom, inclusief snelheden
lsmodGeladen kernelmodules
modinfo e1000eInformatie over één module

Een USB-ID zoals 046d:c52b identificeert de leverancier en het product betrouwbaarder dan een brede naam zoals “draadloze ontvanger”. Maak in PCI-uitvoer onderscheid tussen Kernel modules, dat mogelijke modules noemt, en Kernel driver in use, dat een gekoppeld stuurprogramma aanwijst. Detectie alleen betekent niet dat het apparaat werkend wordt ondersteund.

De meeste stuurprogramma's kunnen als kernelmodules worden geladen: stukken kernelcode die zo nodig worden toegevoegd. Het laden of verwijderen van modules wijzigt de actieve kernel en vereist rootrechten. Sommige stuurprogramma's zijn in de kernel ingebouwd. Op ARM-borden zitten veel ingebouwde apparaten niet op PCI, dus een korte lijst van lspci hoeft niet te betekenen dat hardware ontbreekt.

Volg een aansluiting in het kernellogboek

Voer wanneer je een USB-schijf aansluit sudo dmesg | tail uit, of start sudo dmesg -w voordat je die aansluit. Een melding zoals [sdb] 60437492 512-byte logical blocks duidt de nieuwe schijf aan als /dev/sdb en geeft de capaciteit. Vermenigvuldiging van die aantallen blokken geeft 30.943.995.904 bytes: ongeveer 30,9 GB of 28,8 GiB.

Vergelijk daarna de nieuwe vermelding in lsblk met die melding en het apparaatmodel. Als een gedetecteerde adapter niet werkt, controleer dan het stuurprogramma met lspci -k en lees initialisatiefouten met dmesg. Een ontbrekende koppeling aan een stuurprogramma en een stuurprogramma dat een fout meldt, vragen om verschillende vervolgcontroles.

Belangrijkste punten

  • Gebruik lsblk voor blokapparaten, lspci voor PCI en lsusb voor USB.
  • Schijfnamen volgen de detectievolgorde; controleer het apparaat voordat je ernaar schrijft.
  • Een decimale schijf van 512 GB is ongeveer 476,8 GiB.
  • Controleer na detectie van een apparaat het gekoppelde stuurprogramma en de kernelmeldingen.
3

Installeer en beheer software met pakketbeheerders

Een pakketbeheerder verbindt softwarebestanden met hun versies, afhankelijkheden en vertrouwde bronnen. Als je het juiste hulpmiddel voor de distributie kiest, kun je software installeren en onderhouden zonder zelf elke bibliotheek bij te houden. Je leert de commandofamilies van Debian en Red Hat kennen, maakt onderscheid tussen pakketinformatie verversen en upgrades toepassen, en herleidt een geïnstalleerd commando tot het pakket en de transactie die het hebben geleverd.

3.1 Begrijp pakketten, repository's en afhankelijkheden

Een pakket bundelt softwarebestanden met informatie die wordt gebruikt om ze te installeren en te onderhouden. De metadata vermelden de versie, architectuur en vereiste pakketten en kunnen installatiescripts bevatten. Een pakketbeheerder houdt bij welke bestanden bij welk geïnstalleerd pakket horen.

Kies de juiste distributiefamilie
SystemenPakketformaatRepositoryhulpmiddelHulpmiddel op laag niveau
Debian, Ubuntu, Linux Mint.debaptdpkg
Fedora, RHEL, Rocky Linux, AlmaLinux, CentOS Stream.rpmdnfrpm
openSUSE, SUSE Linux Enterprise.rpmzypperrpm

Arch Linux gebruikt pacman; Alpine Linux gebruikt apk. De oudere naam yum hoort bij de Red Hat-familie. Als je niet zeker weet welk systeem je hebt, lees dan cat /etc/os-release voordat je commando's kiest.

Een bestand zoals nginx_1.24.0-2_amd64.deb vermeldt nginx, de softwareversie, de revisie van het pakket en de architectuur. Deze velden helpen de pakketbeheerder een compatibele gebouwde versie te selecteren. Een bekende applicatienaam maakt niet elk gedownload pakket geschikt voor elke distributie.

Laat het hulpmiddel op hoog niveau afhankelijkheden oplossen

Een afhankelijkheid is een ander pakket dat de software nodig heeft, vaak een gedeelde bibliotheek. Bij de installatie van één applicatie kunnen daarom meerdere pakketten worden toegevoegd. Een hulpmiddel op hoog niveau zoals apt of dnf vindt een compatibele verzameling, downloadt die en vraagt het hulpmiddel op lager niveau om die te installeren.

dpkg en rpm werken met lokale pakketbestanden en onderhouden de database van geïnstalleerde pakketten. Ze halen ontbrekende afhankelijkheden niet uit repository's op. Als je er een bestand mee installeert, kunnen ontbrekende vereisten overblijven die je zelf moet oplossen. Hulpmiddelen op hoog niveau kunnen ook lokale bestanden installeren en daarbij hun vereisten uit geconfigureerde repository's oplossen.

Zoeken en informatie opvragen kan als gewone gebruiker. Installatie, verwijdering en upgrades wijzigen systeembestanden en vereisen normaal sudo. Het bevestigingsscherm biedt nuttige informatie: bekijk de extra pakketten en eventuele voorgestelde verwijderingen voordat je akkoord gaat.

Begrijp vertrouwen in repository's

Een repository biedt pakketbestanden en indexen die de beschikbare versies en afhankelijkheden beschrijven. De eigen repository's van een distributie bieden een verzameling die voor die release is gebouwd.

APT controleert ondertekende repositorymetadata en gebruikt de pakketcontrolesommen uit die metadata om de gedownloade bestanden te controleren. Het controleert normaal geen afzonderlijke handtekening op elk .deb-bestand. DNF controleert normaal de handtekeningen van RPM-pakketten van distributies; controle van handtekeningen van repositorymetadata wordt afzonderlijk ingesteld. Deze controles vormen een vertrouwensketen naar een vertrouwde uitgever en helpen manipulatie te detecteren.

Als je een repository van een derde toevoegt, vertrouw je ook op de software en installatiescripts van die uitgever. Verkrijg de ondertekeningssleutel via de officiële instructies van de uitgever. Omzeil handtekeningcontroles niet om een fout zoals “NO_PUBKEY” te passeren. Ook een bestand van een onbekende downloadpagina heeft een betrouwbare herkomst nodig; de pakketextensie alleen biedt dat vertrouwen niet.

Zoek op de juiste naam

Software- en pakketnamen kunnen verschillen. Apache wordt als apache2 verpakt op systemen uit de Debian-familie en als httpd op systemen uit de Red Hat-familie. Het commando dig komt uit bind9-dnsutils of bind-utils. Zoek voordat je aanneemt dat een commandonaam ook de pakketnaam is.

Andere installatiesystemen houden een afzonderlijke registratie bij. Snap, Flatpak en AppImage bundelen applicaties met veel afhankelijkheden; pip en npm beheren programmeerbibliotheken. Als je een Python-bibliotheek met pip installeert, wordt die geen door apt beheerd pakket.

Belangrijkste punten

  • Gebruik de pakketfamilie en het repositoryhulpmiddel die bij /etc/os-release passen.
  • Hulpmiddelen op hoog niveau halen afhankelijkheden op; dpkg en rpm werken met lokale pakketten en registraties.
  • Repository's bieden pakketindexen en een vertrouwensketen naar een uitgever.
  • Pakketnamen kunnen verschillen van programmanamen en tussen distributies.
  • Systeempakketbeheerders en beheerders voor applicaties of programmeertalen houden afzonderlijke registraties bij.

3.2 Installeer software, werk die bij en verwijder die met apt en dnf

Pakketonderhoud bestaat uit drie afzonderlijke taken: achterhalen wat beschikbaar is, gekozen wijzigingen toepassen en software verwijderen die niet meer nodig is. Lees de geplande transactie voordat je bevestigt, vooral wanneer pakketten worden verwijderd.

Ververs en upgrade
TaakDebian-familieRed Hat-familie
Pakketlijsten verversensudo apt updateDNF ververst verouderde metadata automatisch
Upgrades toepassensudo apt upgradesudo dnf upgrade
nginx installerensudo apt install nginxsudo dnf install nginx
nginx verwijderensudo apt remove nginxsudo dnf remove nginx
Overbodige afhankelijkheden verwijderensudo apt autoremovesudo dnf autoremove

apt update upgradet geen software. Het downloadt actuele pakketlijsten. Voer daarna sudo apt upgrade uit om nieuwere versies te installeren. Het upgradecommando van DNF ververst verouderde repositorymetadata als onderdeel van zijn werk. DNF4 gebruikt dnf check-update om beschikbare wijzigingen te tonen; DNF5 gebruikt dnf check-upgrade.

apt upgrade verwijdert geen geïnstalleerd pakket om een upgrade te voltooien. Een pakket waarvoor zo'n wijziging nodig is, kan worden achtergehouden. sudo apt full-upgrade staat verwijderingen toe, dus bekijk het plan zorgvuldig. -y accepteert een transactie automatisch en neemt je de mogelijkheid om die interactief te beoordelen.

Installeer vanuit een repository of een lokaal bestand

Voer op Ubuntu sudo apt update uit en daarna sudo apt install htop. APT toont nieuwe pakketten en afhankelijkheden voordat het ze downloadt. htop --version controleert het geïnstalleerde programma. Gebruik op Fedora sudo dnf install htop.

Als je apt install voor een bestaand pakket uitvoert, kan het worden geüpgraded naar de huidige kandidaatversie; er verandert niets als die versie al is geïnstalleerd. Geef het pad op om een vertrouwd lokaal bestand te installeren:

sudo apt install ./app_2.1.0_amd64.deb
sudo dnf install ./app-2.1.0-1.x86_64.rpm

De ./ duidt een bestandspad aan. Daarentegen halen sudo dpkg -i file.deb en sudo rpm -i file.rpm ontbrekende afhankelijkheden niet op. Als dpkg onvervulde afhankelijkheden achterlaat, kan sudo apt --fix-broken install die oplossen; bekijk het voorgestelde herstel.

Verwijder software en instellingen bewust

remove van APT bewaart de beheerde systeemconfiguratie van het pakket; purge verwijdert die ook. Geen van beide verwijdert bestanden uit de homedirectory's van gebruikers. Autoremove richt zich op automatisch geïnstalleerde afhankelijkheden die niet meer nodig zijn voor geïnstalleerde pakketten. Dat is een andere beslissing dan één applicatie op naam verwijderen.

Bronvermeldingen van APT staan in /etc/apt/sources.list en /etc/apt/sources.list.d/; Ubuntu 24.04 gebruikt meestal ubuntu.sources in die directory. Ververs na het wijzigen van bronnen. DNF leest .repo-bestanden onder /etc/yum.repos.d/; dnf repolist toont ingeschakelde repository's.

Rond onderhoud netjes af

apt is ontworpen voor interactief gebruik. Scripts gebruiken doorgaans de stabielere interfaces van apt-get en apt-cache. Hun commando's omvatten dezelfde algemene taken, al kunnen standaardinstellingen verschillen.

Een nieuw geïnstalleerde kernel wordt na een herstart de actieve kernel. Programma's die vervangen bibliotheken gebruiken, moeten opnieuw worden gestart om de nieuwe code te laden. Ubuntu kan met /var/run/reboot-required aangeven dat een herstart nodig is.

Een pakketbeheervergrendeling betekent vaak dat een automatische update of andere pakketbewerking actief is. Wacht tot die klaar is; het verwijderen van het vergrendelingsbestand kan pakketregistraties beschadigen. Een rechtenfout wijst daarentegen op ontbrekende bevoegdheid, dus controleer of de bewerking sudo nodig heeft.

Belangrijkste punten

  • apt update ververst lijsten; apt upgrade wijzigt geïnstalleerde software.
  • DNF ververst verouderde metadata tijdens een upgrade; DNF4 en DNF5 gebruiken verschillende namen voor de updatecontrole.
  • APT remove bewaart beheerde systeemconfiguratie; purge verwijdert die.
  • Gebruik een pad met apt of dnf om een lokaal bestand te installeren en afhankelijkheden op te lossen.
  • Bekijk voorgestelde verwijderingen bij een volledige upgrade en afhankelijkheden die voor autoremove worden voorgesteld.
  • Wacht tot de bewerking met de pakketbeheervergrendeling klaar is en start programma's of het systeem opnieuw wanneer bijgewerkte code dat vereist.

3.3 Zoek pakketten en bekijk geïnstalleerde software

Wanneer een commando ontbreekt of een versie verandert, kun je met pakketopvragingen vanuit het verschijnsel terugzoeken. Bepaal eerst of je repositoryinformatie, informatie over geïnstalleerde pakketten of het pakket van een specifiek bestand nodig hebt.

Zoek vóór installatie

apt search json en dnf search json doorzoeken pakketnamen en beschrijvingen. Bekijk een veelbelovend resultaat met apt show NAME of dnf info NAME. Deze tonen details zoals versie, grootte, beschrijving en repository. De uitvoer van show bij APT toont ook afhankelijkheden; vereisten bij DNF kun je opvragen met dnf repoquery --requires NAME.

Repositoryinformatie laat zien wat je zou kunnen installeren. Die stelt op zichzelf niet vast wat al is geïnstalleerd. apt policy NAME maakt onderscheid tussen de geïnstalleerde versie en de kandidaatversie, de versie die APT momenteel zou selecteren. apt list --upgradeable of dnf list --upgrades toont geïnstalleerde pakketten waarvoor updates beschikbaar zijn.

Raadpleeg geïnstalleerde registraties
VraagDebian-familieRed Hat-familie
Wat is geïnstalleerd?apt list --installed of dpkg -ldnf list --installed of rpm -qa
Welke versie van één pakket is geïnstalleerd?dpkg -l nginxrpm -q nginx
Welke bestanden komen van htop?dpkg -L htoprpm -ql htop
Bij welk pakket hoort dit geïnstalleerde bestand?dpkg -S /usr/bin/htoprpm -qf /usr/bin/htop

In dpkg -l duidt de status ii een geïnstalleerd pakket aan. De richting van een opvraging is belangrijk: -L begint bij een pakket en toont de bestanden; -S begint bij een bestand en zoekt het bijbehorende pakket. Op RPM-systemen is het overeenkomstige onderscheid -ql tegenover -qf.

Herleid een commando tot het pakket

Stel dat which openssl de uitvoer /usr/bin/openssl toont. Op Debian duidt dpkg -S /usr/bin/openssl openssl aan als het bijbehorende pakket. apt policy openssl toont vervolgens de geïnstalleerde versie, kandidaatversie en repository's. Zo hoef je niet aan te nemen dat de naam van het commando altijd met het pakket overeenkomt.

Voor een ontbrekend commando is er mogelijk geen geïnstalleerd pakket om op te vragen. dnf provides /usr/bin/rsync doorzoekt bestandslijsten van repository's. Systemen uit de Debian-familie bieden het afzonderlijke hulpmiddel apt-file: nadat de index met sudo apt-file update is ververst, vindt apt-file search bin/rsync pakketten die het bestand leveren. Ubuntu kan ook een pakket voorstellen wanneer een commando niet wordt gevonden.

Verbind een fout met een transactie

APT registreert transacties in /var/log/apt/history.log; dpkg registreert handelingen op lager niveau in /var/log/dpkg.log. Op DNF4 toont dnf history transacties; DNF5 gebruikt dnf history list. dnf history info 12 toont de pakketten die in transactie 12 zijn gewijzigd.

sudo dnf history undo 12 vraagt om die transactie terug te draaien. Bekijk het plan: terugdraaien hangt ervan af of de benodigde pakketversies nog beschikbaar zijn en herstelt geen willekeurige applicatiegegevens. Lees voor de diagnose de geschiedenis voordat je nog een wijziging aanbrengt. Een recente upgrade van een bibliotheek kan verklaren waarom het gedrag van een programma is veranderd, ook al heeft niemand de hoofdapplicatie opnieuw geïnstalleerd.

Belangrijkste punten

  • Maak onderscheid tussen repositoryversies en de werkelijk geïnstalleerde versie.
  • Gebruik dpkg -L of rpm -ql om bestanden bij een pakket op te vragen.
  • Gebruik dpkg -S of rpm -qf om het pakket bij een geïnstalleerd bestand op te zoeken.
  • Voor een ontbrekend bestand moet je in repository's zoeken welk pakket het levert, niet bij welk geïnstalleerd pakket het hoort.
  • De transactiegeschiedenis helpt een nieuw probleem met een recente pakketwijziging te verbinden.
4

Beheer services met systemd

Services blijven nuttig werk doen nadat een gebruiker de terminal verlaat. systemd beheert hun opstart, huidige toestand en reactie op fouten en gebruikt unitbestanden om te beschrijven wat moet draaien. Je leest de status zonder die met de opstartconfiguratie te verwarren, beheert services nu en bij toekomstige opstartsessies en maakt kleine configuratiewijzigingen die pakketupdates overleven. Een eenvoudig servicebestand laat zien hoe deze instellingen samenhangen.

4.1 Begrijp systemd, units en de status van services

Een service, vaak een daemon genoemd, biedt een functie op de achtergrond, zoals webpagina's aanbieden of SSH-verbindingen accepteren. Een service heeft meestal geen terminal. Veel daemonnamen eindigen op d, zoals sshd en chronyd.

Zoek de servicebeheerder

Op de meeste gangbare distributies draait systemd als PID 1 en start het services in de vereiste volgorde. Controleer dit met ps -p 1 -o comm=. systemd kan processen bewaken, mislukte services herstarten en het verzamelen van hun logmeldingen regelen. Sommige distributies gebruiken een andere beheerder, zoals OpenRC van Alpine Linux.

systemd beheert units. Hun achtervoegsels duiden hun functie aan:

AchtervoegselFunctie
.serviceEen programma of taak uitvoeren en beheren
.socketOp een socket luisteren en zo nodig een service activeren
.timerActivering plannen
.mountEen aangekoppeld bestandssysteem vertegenwoordigen
.targetUnits in een benoemde systeemtoestand groeperen

In servicecommando's is nginx een afkorting voor nginx.service. Namen verschillen: SSH gebruikt meestal ssh op Debian en Ubuntu en sshd op Fedora en RHEL. Apache heet apache2 of httpd. systemctl list-unit-files | grep ssh helpt de lokale naam te vinden.

Lees de twee belangrijke statusregels

Voer systemctl status nginx uit. Een voorbeeld kan bevatten:

Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-10-21 09:14:03 UTC
Main PID: 2410 (nginx)

Loaded noemt het unitbestand en de instelling voor automatisch starten. Active meldt de huidige toestand en wanneer die begon. Main PID duidt het hoofdproces aan; recente logregels volgen. Een gewone gebruiker kan de status bekijken, maar voor inzage in systeemlogboeken kunnen extra rechten nodig zijn.

Active en enabled zijn onafhankelijk van elkaar. Active beschrijft het heden. Enabled betekent dat inschakelingskoppelingen zijn gemaakt, meestal zodat een doelunit de service bij het opstarten start. Een uitgeschakelde service kan nog steeds handmatig worden gestart of door een andere unit worden geactiveerd. Een ingeschakelde service kan gestopt of mislukt zijn.

Interpreteer de toestand nauwkeurig
Toestand bij ActiveInterpretatie
active (running)Het programma van de service draait
active (exited)Een voltooide taak wordt nog als actief beschouwd
inactive (dead)De service is niet actief
failedEen start of uitvoering is mislukt; bekijk het resultaat en de logboeken
activatingHet starten is bezig

De kleur van de statusstip helpt bij het snel bekijken, maar de tekst van de toestand geeft de bruikbare informatie. systemctl is-active nginx meldt de huidige toestand; systemctl is-enabled nginx meldt de instelling voor automatisch starten. static betekent dat de unit geen instructies voor inschakeling heeft en op een andere manier kan worden geactiveerd. masked betekent dat starten is geblokkeerd.

Kies het juiste overzicht

systemctl list-units --type=service toont momenteel geladen service-units met de standaardfiltering op toestand. Voeg --all toe om ook inactieve geladen units op te nemen, of --state=running om je op draaiende services te richten. systemctl --failed toont alleen mislukte units. systemctl list-unit-files --type=service toont geïnstalleerde servicebestanden en instellingen voor automatisch starten, inclusief services die nu niet draaien.

Belangrijkste punten

  • systemd beheert units; een .service-unit beschrijft een programma of taak.
  • Lees Loaded voor het unitbestand en de instelling voor automatisch starten, en Active voor de huidige toestand.
  • Een ingeschakelde service kan gestopt zijn; een uitgeschakelde service kan draaien.
  • active (exited) kan een succesvol voltooide taak beschrijven.
  • Gebruik list-unit-files voor geïnstalleerde definities en list-units voor geladen units.

4.2 Start en stop services en schakel automatisch starten in en uit

Servicebeheer kent twee tijdschalen: wat nu moet draaien en wat later automatisch moet starten. Houd die beslissingen gescheiden wanneer je software installeert of een service herstelt.

Beheer de huidige toestand
CommandoEffect
sudo systemctl start nginxNu starten
sudo systemctl stop nginxNu stoppen
sudo systemctl restart nginxStoppen en starten, waardoor huidig werk wordt onderbroken
sudo systemctl reload nginxEen service die dit ondersteunt vragen de configuratie opnieuw te lezen
sudo systemctl reload-or-restart nginxHerladen indien ondersteund; anders herstarten

Gebruik systemctl status nginx na een wijziging. Voor een stille controle geeft systemctl is-active --quiet nginx aan dat de service actief is via een succesvolle afsluitstatus. Het toont geen statustekst en is daardoor bruikbaar in shellvoorwaarden.

Ondersteuning voor herladen komt van de service. Test voor nginx een gewijzigde configuratie met sudo nginx -t vóór sudo systemctl reload nginx. Een geslaagde herlaadactie kan nieuwe instellingen toepassen zonder de service te stoppen. Bij een foutieve configuratie behoudt nginx tijdens herladen de oude actieve configuratie; herstarten met het foutieve bestand kan de service daarentegen uit laten vallen.

Stel automatisch starten in

sudo systemctl enable nginx maakt inschakelingskoppelingen; het start nginx nu niet. sudo systemctl disable nginx verwijdert die koppelingen; het stopt het huidige proces niet. Om beide wijzigingen tegelijk uit te voeren:

sudo systemctl enable --now nginx
sudo systemctl disable --now nginx

Het eerste schakelt de service in en start die; het tweede schakelt die uit en stopt die. Een Fedora-installatie van nginx laat de service meestal gestopt en uitgeschakeld, terwijl pakketinstallatie binnen de Debian-familie de service vaak start en inschakelt. Controleer na installatie de werkelijke toestand.

Na het starten van een webservice kan curl -I http://localhost de lokale reactie controleren. Een geslaagde lokale controle en toegang vanaf een andere machine zijn verschillende tests; een firewall kan toegang op afstand nog steeds blokkeren.

Blokkeer activering wanneer nodig

Uitschakelen verhindert niet dat een afhankelijkheid of socket een service activeert. Maskering blokkeert het starten door de unitnaam aan /dev/null te koppelen:

sudo systemctl mask bluetooth
sudo systemctl unmask bluetooth

Maskeren alleen stopt een al draaiende unit niet. Stop die ook als die moet ophouden met draaien. De maskering opheffen verwijdert de blokkade; het start de service niet en schakelt die niet in. Bij een startpoging meldt een gemaskeerde unit dat die is gemaskeerd.

Kies de standaardsysteemtoestand

Een doelunit (target) groepeert units. multi-user.target biedt de normale niet-grafische omgeving voor meerdere gebruikers, die vaak op servers wordt gebruikt. graphical.target voegt het bureaublad toe. systemctl get-default meldt de standaarddoelunit en sudo systemctl set-default multi-user.target wijzigt de doelunit die voor toekomstige opstartsessies wordt gekozen; het sluit het huidige bureaublad niet onmiddellijk.

sudo systemctl reboot herstart de machine en sudo systemctl poweroff sluit die af. Gebruik voor één service in plaats daarvan de eigen beheercommando's. Het beëindigen van de PID van een beheerde service kan een automatische herstart veroorzaken; een bewuste systemctl stop vertelt systemd dat de service gestopt moet blijven.

Belangrijkste punten

  • Start en stop beïnvloeden het heden; enable en disable wijzigen inschakelingskoppelingen.
  • enable --now en disable --now combineren beide tijdschalen.
  • Uitschakelen laat andere activeringsroutes toe; maskeren blokkeert het starten.
  • Maskeren alleen laat een al draaiende service draaien.
  • Test de applicatieconfiguratie vóór herladen of herstarten.
  • De standaarddoelunit wijzigen bepaalt het gedrag bij toekomstige opstartsessies.

4.3 Lees unitbestanden en pas ze aan

Een unitbestand vertelt systemd hoe het een service moet uitvoeren. Lees de daadwerkelijk toegepaste configuratie met systemctl cat NAME: dit toont het basisbestand en eventuele aanvullende instellingen met hun paden.

Weet waar instellingen thuishoren

Meegeleverde units staan onder /usr/lib/systemd/system/, op systemen uit de Debian-familie ook bereikbaar als /lib/systemd/system/. Bestanden en aanvullende instellingen van de lokale beheerder horen onder /etc/systemd/system/, dat voorrang heeft. Een pakketupdate kan het eigen bestand vervangen, dus bewaar lokale wijzigingen in een aanvullend configuratiebestand.

Een unitbestand heeft secties en instellingen van de vorm Key=value:

SectieBelangrijke instellingen
[Unit]Description=, volgorde met After=, afhankelijkheden met Wants= of Requires=
[Service]ExecStart=, User=, WorkingDirectory=, Environment=, Restart=
[Install]WantedBy=, gebruikt bij het inschakelen van de unit

After=network.target bepaalt de volgorde; het start die doelunit niet zelf en garandeert geen internetverbinding. WantedBy=multi-user.target geeft enable opdracht een koppeling te maken onder multi-user.target.wants/. Een statische unit heeft geen instructies voor inschakeling, maar kan nog steeds door een andere unit worden geactiveerd.

Bouw een eenvoudige service

Maak voor een kleine testserver eerst /srv/hello met leesbare bestanden en een systeemaccount:

sudo useradd --system --no-create-home hello

Schrijf met Python 3 geïnstalleerd op /usr/bin/python3 het bestand /etc/systemd/system/hello-web.service:

[Unit]
Description=Hello web server
After=network.target

[Service]
ExecStart=/usr/bin/python3 -m http.server 8080 --directory /srv/hello
User=hello
Restart=on-failure

[Install]
WantedBy=multi-user.target

Voer sudo systemctl daemon-reload uit en daarna sudo systemctl enable --now hello-web. Bekijk systemctl status hello-web en vraag http://localhost:8080 op met curl. Het serviceaccount moet rechten hebben om de directory te lezen en de bovenliggende directory's te doorlopen.

Met de standaardwaarde Type=simple blijft het programma op de voorgrond, zodat systemd het kan volgen. ExecStart= accepteert een absoluut pad naar een uitvoerbaar bestand of een eenvoudige bestandsnaam uit het zoekpad van systemd. Een relatief pad met een schuine streep, zoals ./server, is ongeldig. Een programma dat zich via een fork naar de achtergrond verplaatst, heeft een geschikt servicetype nodig, zoals Type=forking.

Wijzig een meegeleverde instelling

sudo systemctl edit nginx opent een aanvullend configuratiebestand. Bijvoorbeeld:

[Service]
Restart=on-failure
RestartSec=5s

Opslaan via systemctl edit herlaadt de unitconfiguratie van systemd. Herstart de service om gewijzigde uitvoeringsinstellingen toe te passen. Als je bestanden rechtstreeks bewerkt, voer dan zelf sudo systemctl daemon-reload uit voordat je herstart. Dit herlaadt unitdefinities, niet de eigen configuratie van de applicatie.

Om een lijstinstelling zoals ExecStart te vervangen, moet eerst een lege regel ExecStart= vóór de nieuwe regel staan. sudo systemctl revert nginx verwijdert lokale aanvullende instellingen en herstelt de configuratie van de leverancier.

Restart=no laat een beëindigd proces gestopt. on-failure herstart na fouten die daarvoor in aanmerking komen; always omvat ook netjes afsluiten. Een bewuste systemctl stop onderdrukt automatisch herstarten. Snelle opeenvolgende fouten kunnen een ingestelde begrenzing van de startfrequentie bereiken. De standaardinstellingen van de beheerder staan vijf startpogingen in 10 seconden toe; lokale configuratie kan die wijzigen. Los de oorzaak op voordat je de foutstatus wist en het opnieuw probeert.

Belangrijkste punten

  • Bewaar lokale instellingen onder /etc/systemd/system/; bekijk ze met systemctl cat.
  • Unitsecties scheiden beschrijving en afhankelijkheden, uitvoering en inschakeling.
  • Voer een eenvoudige service op de voorgrond uit onder een geschikt account.
  • Herlaad unitdefinities na rechtstreekse wijzigingen en herstart daarna om uitvoeringswijzigingen toe te passen.
  • Een aanvullend configuratiebestand blijft behouden bij pakketupdates; lijstinstellingen kunnen een lege herstelregel nodig hebben.
  • Het herstartbeleid bepaalt wat er gebeurt als processen eindigen, terwijl frequentielimieten eindeloze snelle pogingen voorkomen.
5

Lees systeemlogboeken om problemen op te sporen en op te lossen

De toestand van een service vertelt dat er iets is mislukt; logboeken helpen verklaren waarom. Linux registreert meldingen in het systemd-logboek, applicatielogbestanden en de berichtenbuffer van de kernel. Je beperkt die registraties op service, opstartsessie, tijd en ernst en koppelt daarna de eerste bruikbare fout aan een specifieke controle. Bij een zorgvuldige reparatie wijzig je één oorzaak tegelijk en controleer je zowel de draaiende service als het gewenste opstartgedrag.

5.1 Raadpleeg het systemd-logboek met journalctl

Het systemd-logboek verzamelt kernel-, opstart- en servicemeldingen, inclusief uitvoer die beheerde programma's naar het logboek sturen. systemd-journald bewaart geïndexeerde binaire registraties. Lees ze met journalctl; een tekstbestandviewer zoals less kan de logboekbestanden zelf niet interpreteren.

Lees voldoende van de registratie

Toegang tot het systeemlogboek hangt af van rechten en lokaal beleid. Root en bevoegde groepen zoals systemd-journal of adm kunnen systeemvermeldingen lezen. Als een gewoon account slechts een beperkte verzameling ziet, gebruik dan sudo journalctl voor het systeemonderzoek.

De standaardweergave begint met oude meldingen in een paginagewijze tekstviewer. Gebruik de pijltjestoetsen om te bewegen, / om te zoeken en q om af te sluiten. Kies een gerichtere weergave:

OptieEffect
-rNieuwste eerst
-eNaar het einde springen
-n 50Laatste 50 registraties
-fBinnenkomende registraties volgen tot Ctrl+C
--no-pagerRechtstreeks tonen, handig voor pipes

-n zonder getal selecteert tien vermeldingen. Statusuitvoer toont vaak alleen enkele recente regels, dus lees het logboek als die regels de fout niet verklaren.

Combineer filters voor unit, opstartsessie en tijd

sudo journalctl -u nginx -b selecteert nginx-registraties van deze opstartsessie. -b -1 selecteert de vorige opstartsessie; --list-boots toont bewaarde opstartregistraties. -k selecteert kernelmeldingen en gaat normaal uit van de huidige opstartsessie. Geef voor oudere kernelregistraties de opstartsessie expliciet op.

Tijdfilters accepteren relatieve tijden en volledige datums:

sudo journalctl -u nginx --since "2026-10-22 08:00" --until "2026-10-22 09:30"

--since today betekent sinds middernacht vandaag, terwijl --since "1 hour ago" een verschuivend tijdvenster geeft. Datum-tijdreeksen tussen aanhalingstekens blijven samen één argument. Een datum zonder tijd begint om middernacht.

Begrijp de prioriteitsgrens

Prioriteiten lopen van 0, noodsituatie, tot 7, foutopsporing. Daartussen liggen alarm, kritiek, fout, waarschuwing, kennisgeving en informatie. Lagere nummers zijn ernstiger. -p err omvat niveau 0 tot en met 3, niet alleen fout. Gebruik een expliciet bereik zoals -p err..warning om die niveaus te selecteren.

Een beperkt ernstfilter kan het bewijs verbergen dat je nodig hebt. SSH kan bijvoorbeeld meldingen over mislukte wachtwoorden op informatieniveau registreren. Op Ubuntu vindt sudo journalctl -u ssh --since today --grep "Failed password" overeenkomende meldingen zonder ze door een waarschuwingsgrens weg te laten vallen.

Een regel zoals “Failed password for invalid user admin from 203.0.113.45” vermeldt het gebruikte account en het bronadres. Het tijdstempel en de PID van het programma plaatsen de regel in de omliggende activiteit. -o short-iso maakt volledige datums gemakkelijk te vergelijken; -o verbose toont velden, -o json-pretty toont gestructureerde registraties en -x voegt beschikbare uitleg toe.

Weet wat een herstart overleeft

Persistente logboeken staan onder /var/log/journal/; vluchtige logboeken onder /run/log/journal/ verdwijnen bij afsluiten. De instelling Storage= in de configuratie van journald bepaalt het opslaggedrag. Eén geregistreerde opstartsessie kan betekenen dat oudere registraties nooit persistent zijn opgeslagen of al zijn verwijderd.

journalctl --disk-usage omvat actieve en gearchiveerde logboekbestanden. sudo journalctl --vacuum-size=500M verwijdert oude gearchiveerde bestanden tot een limiet van 500 MiB voor gearchiveerde bestanden. Actieve bestanden worden daarbij niet verwijderd, dus het totale gerapporteerde schijfgebruik kan groter blijven.

Belangrijkste punten

  • Filter op unit, opstartsessie en tijd voordat je de prioriteit beperkt.
  • Een prioriteitsgrens omvat ernstigere niveaus, niet alleen het genoemde niveau.
  • Registraties op informatieniveau kunnen de oorzaak van een probleem bevatten.
  • Persistente logboeken blijven behouden na een herstart; vluchtige logboeken niet.
  • Opschonen verwijdert gearchiveerde bestanden, terwijl het schijfgebruik ook actieve bestanden meetelt.

5.2 Lees logbestanden in /var/log en kernelmeldingen

Het logboek is niet de enige logbron. Sommige systemen draaien ook rsyslog en applicaties kunnen eigen tekstlogboeken schrijven. De kernel bewaart een afzonderlijke berichtenbuffer in het geheugen. Kies de bron die de gebeurtenis heeft geregistreerd die je onderzoekt.

Zoek het juiste tekstlogboek
BronGebruikelijke locatie
Algemene meldingen Debian/Ubuntu, met syslog geconfigureerd/var/log/syslog
Authenticatie Debian/Ubuntu/var/log/auth.log
Kerneltekstlogboek Debian/Ubuntu/var/log/kern.log
Algemene meldingen en authenticatie RHEL-familie/var/log/messages, /var/log/secure
Acties van APT en dpkg/var/log/apt/history.log, /var/log/dpkg.log
Acties van DNF/var/log/dnf.log
Verzoeken en problemen van nginx/var/log/nginx/access.log, /var/log/nginx/error.log

Of een bestand aanwezig is, hangt af van de geïnstalleerde logservices en hun configuratie. Debian 12 en later vertrouwen meestal op het logboek, tenzij rsyslog is geïnstalleerd. Applicaties kunnen op zo'n machine nog steeds eigen logboeken bijhouden.

Lees een tekstbestand met sudo less /var/log/auth.log, bekijk het einde met sudo tail -n 20 /var/log/syslog of volg nieuwe regels met sudo tail -f /var/log/nginx/error.log. Gebruik sudo grep -i "error" /var/log/syslog om een woord ongeacht hoofdletters of kleine letters te selecteren.

Lees de velden en oudere bestanden

Een klassiek voorbeeld is:

Oct 22 08:01:17 web1 sshd[3141]: Accepted publickey for alice from 198.51.100.7 port 50522 ssh2

Dit geeft de tijd, hostcomputer, het programma met PID en de gebeurtenismelding. Sommige systemen gebruiken in plaats daarvan volledige ISO-tijdstempels met tijdzoneverschillen. De melding beschrijft een geslaagde aanmelding met een sleutel, geen mislukte wachtwoordpoging; als je alleen de programmanaam leest, mis je dat onderscheid.

Logrotatie beperkt de groei door oude bestanden te hernoemen, nieuwe te maken en uiteindelijk verlopen bestanden te verwijderen. De configuratie van logrotate staat in /etc/logrotate.conf en /etc/logrotate.d/. Een reeks zoals syslog, syslog.1 en syslog.2.gz omvat huidige en oudere registraties. Gebruik zless of zgrep voor met gzip gecomprimeerde tekst zonder die eerst uit te pakken. Als je alleen het huidige bestand doorzoekt, kun je de fout van gisteren missen.

Lees kernelgebeurtenissen

De ringbuffer van de kernel bevat recente meldingen en overschrijft de oudste vermeldingen wanneer de buffer vol raakt. De buffer registreert apparaatdetectie, fouten van stuurprogramma's, opslagfouten en beëindigingen door de OOM-killer. dmesg toont de buffer; gebruik sudo als de toegang is beperkt. dmesg -T geeft leesbare tijden, dmesg -l err,warn selecteert fouten en waarschuwingen en dmesg -w volgt nieuwe meldingen.

sudo journalctl -k leest kernelvermeldingen die het logboek bewaart. sudo journalctl -k -b -1 kan een vorige opstartsessie bereiken die niet meer in de actuele ringbuffer staat.

Als een Java-proces verdwijnt, verbindt een kernelregel zoals “Out of memory: Killed process 4810 (java)” de beëindiging met geheugendruk. Controleer free -h en top en verminder daarna de geheugenbehoefte of voeg capaciteit toe. Begin bij problemen met het starten van een service met het logboek van de unit; lees voor applicatiespecifieke details het eigen foutenlogboek van de applicatie.

Gebruik logrotatie of instellingen voor het bewaren van logboeken om logruimte te beheren. Een tekstlogboek met de hand verwijderen wist bewijsmateriaal en kan de schijfruimte bezet laten totdat het schrijvende programma het bestand sluit.

Belangrijkste punten

  • Locaties van tekstlogboeken hangen af van de logconfiguratie; applicaties kunnen eigen bestanden bijhouden.
  • Gebruik less, tail en grep voor tekstlogboeken en zless of zgrep voor oudere gecomprimeerde logboeken.
  • Logrotatie verspreidt een gebeurtenisgeschiedenis over meerdere bestanden.
  • dmesg toont de huidige kernelbuffer; het logboek kan eerdere opstartsessies bewaren.
  • OOM-meldingen van de kernel kunnen verklaren waarom een applicatie zonder eigen foutmelding verdween.

5.3 Onderzoek en verhelp stapsgewijs problemen met een falende service

Herhaaldelijk herstarten verklaart een fout zelden. Begin bij het zichtbare verschijnsel, zoek de melding die de oorzaak noemt en wijzig één ding. Test de herstelde service daarna via zowel de beheerder als de functie die de service biedt.

Volg een herhaalbaar onderzoek
  1. Bevestig het verschijnsel: een lokaal webverzoek mislukt bijvoorbeeld.
  2. Voer systemctl status NAME uit en lees Active, Result en de afsluitcode.
  3. Lees sudo journalctl -u NAME -b, of de laatste 50 vermeldingen met -n 50 --no-pager.
  4. Gebruik het eigen foutenlogboek en de configuratietest van de applicatie.
  5. Corrigeer één vastgestelde oorzaak en herhaal de relevante controle.
  6. Start of herstart, bekijk de status en test de daadwerkelijke functie.
  7. Vergelijk systemctl is-enabled NAME met het gewenste opstartgedrag.

Lees de eerste betekenisvolle fout in de mislukte poging. Een latere regel “Failed to start” vat het resultaat samen; die hoeft de oorzaak niet te noemen. Als je de filters voor tijd en unit op elkaar afstemt, kun je de laatste poging beter van oudere fouten onderscheiden.

Onderzoek een poortconflict

Een herstart van nginx mislukt. Het logboek bevat “bind() to 0.0.0.0:80 failed (98: Address already in use).” Iets luistert al op die poort. Voer uit:

sudo ss -tlnp | grep ':80 '

Stel dat dit apache2 aanwijst. Als deze machine nginx moet gebruiken en Apache niet meer nodig is, stopt sudo systemctl disable --now apache2 Apache en verwijdert het de inschakelingskoppelingen. Daarna kan sudo systemctl start nginx de poort verkrijgen. Controleer systemctl status nginx en een lokaal webverzoek.

Die voorwaarde is belangrijk: verwijder geen noodzakelijke service alleen om een tweede te laten starten. Als beide moeten draaien, moet de luisterconfiguratie bewust worden gewijzigd. Het logboek wijst het conflict om het systeemmiddel aan, terwijl de beoogde functie van het systeem de reparatie bepaalt.

Onderzoek een configuratiefout

Stel dat het logboek een onverwachte sluitende accolade in /etc/nginx/sites-enabled/default:24 meldt. Voer sudo nginx -t uit; dit wijst hetzelfde bestand en dezelfde regel aan. Corrigeer de verkeerd geplaatste accolade, voer de test opnieuw uit en herstart pas nadat de test is geslaagd. Zo isoleer je de wijziging en voorkom je dat je een bekende werkende configuratie door een foutieve vervangt.

Gebruik de resultaatcode om de zoekopdracht te beperken
Status of resultaatVolgende controle
203/EXECPad naar het uitvoerbare bestand, uitvoerrecht en mogelijkheid om het te starten
217/USERAccount in User= en mogelijkheid om de bijbehorende toegangsgegevens in te stellen
1/FAILUREEigen foutmeldingen van de applicatie
oom-killOOM-registraties van de kernel en geheugengebruik

Een ontbrekend uitvoerbaar bestand en een programma dat start maar zijn instellingen afwijst, zijn verschillende fouten. Vergelijk bij “Permission denied” de uitvoer van ls -l en de toegang tot directory's met de voor de service ingestelde gebruiker. Controleer bij een volle schijf df -h; controleer bij weinig RAM free -h; bekijk bij CPU-druk top.

Als systemd “start request repeated too quickly” meldt, herstel dan eerst de oorzaak. Daarna wist sudo systemctl reset-failed NAME de foutstatus en tellers voor de startlimiet, zodat je de service opnieuw kunt starten. Alleen de teller herstellen repareert het programma niet.

Belangrijkste punten

  • Bevestig het verschijnsel, bekijk de status en lees de eerste fout die de oorzaak aangeeft.
  • Gebruik applicatiecontroles en wijzig één oorzaak tegelijk.
  • Bij een bezette poort moet je vóór de reparatie vaststellen welk programma erop luistert.
  • Afsluitcodes onderscheiden fouten bij uitvoering, gebruikersauthenticatie, applicaties en geheugen.
  • Wis een startlimiet na het oplossen van de oorzaak en controleer daarna status, werking en beoogd opstartgedrag.
6

Archiveer en comprimeer bestanden

Een archief verzamelt bestanden in één geheel; compressie verandert hoeveel ruimte dat geheel gebruikt. Als je deze taken uit elkaar houdt, zijn back-upcommando's gemakkelijker te lezen en te herstellen. Je bouwt en bekijkt tar-archieven, pakt ze uit in een gekozen directory en vergelijkt gzip, bzip2, xz en zip. De keuze van het formaat hangt af van snelheid, grootte, de behoefte om te delen en bestandsmetadata. Een gecontroleerd herstel levert sterker bewijs dan een vertrouwde bestandsnaam.

6.1 Maak tar-archieven, bekijk de inhoud en pak ze uit

Een archief bundelt bestanden en directory's met hun namen en metadata. Compressie vermindert het aantal bytes dat nodig is om gegevens op te slaan. Een ongecomprimeerd tar-archief bundelt bestanden zonder ze te comprimeren; als je een compressieprogramma toevoegt, ontstaan bestanden zoals .tar.gz, .tar.bz2 of .tar.xz.

Lees de opties als een korte zin
OptieTaak
-c, -t, -xMaken, inhoud tonen of uitpakken; kies één bewerking
-f FILEDe naam van het archiefbestand opgeven
-vNamen of details van archiefitems tonen
-z, -j, -Jgzip, bzip2 of xz gebruiken
-C DIRVan directory veranderen voor volgende items of voor het uitpakken

GNU tar accepteert ook gecombineerde opties en de oudere vorm zonder koppelteken. Zet bij een gecombineerde groep f als laatste en plaats de bestandsnaam er direct achter. De hoofdletter J selecteert xz; de kleine letter j selecteert bzip2.

Maak een archief met bruikbare namen voor de items
tar -czvf site-backup.tar.gz -C /var/www site

Dit maakt site-backup.tar.gz in de huidige directory van de shell. Tar verandert de invoerlocatie naar /var/www en voegt daarna site toe, zodat opgeslagen namen beginnen met site/. Het bewaart de directorystructuur, toegangsrechten, eigenaarschapsmetadata en tijdstempels.

Rechtstreeks /var/www/site opgeven werkt ook. GNU tar verwijdert normaal de eerste schuine streep en slaat var/www/site/... op; bij het uitpakken wordt dat pad dan onder de bestemming opnieuw opgebouwd. Als je de invoerdirectory met -C kiest, krijg je een kortere, handigere indeling voor herstel.

Bekijk de inhoud vóór herstel

Voer tar -tzvf site-backup.tar.gz uit. Dit toont namen en metadata zonder uit te pakken. Controleer of alle items onder één directory staan. Zo niet, dan kunnen bestanden bij het uitpakken over de bestemming worden verspreid. GNU tar herkent bij het lezen veelgebruikte compressieformaten, dus tar -tvf site-backup.tar.gz werkt ook.

Om te herstellen in een bestaande lege directory:

tar -xzvf site-backup.tar.gz -C /tmp/restore

De bestemming moet al bestaan. Bij het uitpakken kunnen bestanden met overeenkomende namen worden overschreven, dus gebruik een lege hersteldirectory wanneer je een onbekend archief controleert. Om één item uit te pakken, geef je de naam precies zoals die in de lijst staat: tar -xzvf site-backup.tar.gz site/index.html.

Bescherm de archiefbestandsnaam en metadata

Het woord na -f is de naam van het archiefbestand. In tar -cfz backup.tar.gz docs behandelt tar z als die bestandsnaam en de latere woorden als invoer. Op vergelijkbare wijze laat tar -cf *.txt de shellexpansie het eerste tekstbestand als uitvoerarchief kiezen en kan het dat bestand overschrijven. Geef de naam van het archief altijd expliciet op.

Een gewone gebruiker herstelt bestanden onder eigen eigenaarschap; root kan geregistreerde eigenaren herstellen. Een back-up maken vereist leestoegang tot de bron. Gebruik voor beschermde systeembestanden een bevoegd commando zoals sudo tar -czf /root/etc-2026-10-22.tar.gz /etc en controleer de fouten op overgeslagen bestanden.

--exclude='*.log' slaat overeenkomende paden over. De optie -a van GNU tar kiest een compressieprogramma op basis van het achtervoegsel, zoals in tar -caf backup.tar.xz docs. Lees voordat je originelen verwijdert het archief met tar -tzf backup.tar.gz > /dev/null en controleer of de lijst de verwachte bestanden bevat. Een geslaagde leesactie controleert de leesbaarheid; als je een herstel bekijkt, controleer je ook of de gekozen inhoud bruikbaar is.

Belangrijkste punten

  • Archiveren verzamelt bestanden en metadata; compressie verkleint de omvang.
  • Kies één tar-bewerking en geef -f een expliciete archiefbestandsnaam.
  • -C bepaalt de indeling van de invoer of de bestemming bij het uitpakken.
  • Bekijk de inhoud vóór het uitpakken en herstel in een lege directory om overschrijven te voorkomen.
  • Voor back-ups is leesrecht nodig en root kan geregistreerd eigenaarschap herstellen.
  • Controleer de leesbare inhoud en een herstel voordat je op het archief vertrouwt.

6.2 Comprimeer bestanden met gzip, bzip2, xz en zip

Compressieprogramma's verschillen in snelheid, grootte en hoe ze met originelen omgaan. Kies een formaat op basis van de taak: een logboek snel verkleinen, een Linux-back-up maken of een download voor gebruikers van verschillende besturingssystemen aanbieden.

Comprimeer een bestand en bewaar zo nodig het origineel
CompressieprogrammaAchtervoegsel na compressieDecompressiecommando
gzip.gzgunzip of gzip -d
bzip2.bz2bunzip2 of bzip2 -d
xz.xzunxz of xz -d

Deze hulpmiddelen vervangen een invoerbestand normaal door de gecomprimeerde versie. gzip access.log laat access.log.gz achter en verwijdert na succes het origineel. Voeg -k toe om het te bewaren. Hun vormen met -d maken de bewerking ongedaan.

Ze bouwen geen directoryarchief met meerdere bestanden. gzip project weigert een directory; recursieve gzip comprimeert de bestanden afzonderlijk. Om een directoryboom als één gecomprimeerd geheel te bewaren, maak je een tar-archief met het gekozen compressieprogramma.

Weeg tijd, geheugen en grootte af

Gzip is meestal snel, xz maakt vaak kleinere bestanden ten koste van meer tijd en geheugen en bzip2 ligt daar meestal tussenin. Resultaten hangen af van de invoer en instellingen. Niveaus van -1 tot -9 geven bij lage waarden voorrang aan snelheid en bij hoge waarden aan compressie. Standaardwaarden zijn 6 voor gzip en xz en 9 voor bzip2.

Tekstlogboeken krimpen vaak sterk. JPEG-afbeeldingen, MP4-video en gecomprimeerde archieven hebben meestal weinig baat bij nog een compressieronde. Opnieuw comprimeren kan CPU-tijd kosten zonder nuttige ruimtebesparing.

Bij één proef met 240 MiB aan logboeken leverde gzip 31 MiB en xz 22 MiB op. Die resultaten behouden ongeveer 12,9% en 9,2% van de oorspronkelijke grootte. Het kleinere bestand kostte bij die proef meer compressietijd; de cijfers voorspellen geen resultaten voor andere gegevens.

Lees en test gecomprimeerde inhoud

zcat, zless en zgrep lezen met gzip gecomprimeerde tekst; bzcat en xzcat verwerken hun respectieve formaten. Zo doorzoekt zgrep "error" /var/log/syslog.2.gz een door logrotatie ontstaan logbestand zonder een ongecomprimeerde kopie op schijf achter te laten.

Gebruik gzip -t file.gz of xz -t file.xz voor integriteitscontroles. Een achtervoegsel is slechts een naamgevingsconventie: file backup.bin kan gzip-inhoud herkennen, ook zonder .gz. sha256sum backup.tar.gz maakt een controlesom voor vergelijking na overdracht. Overeenkomende controlesommen tonen dat de kopieën overeenkomen, niet dat elk gewenst bronbestand is opgenomen.

Deel een directory met zip

ZIP bundelt en comprimeert terwijl de bronbestanden behouden blijven:

zip -r project.zip project
unzip -l project.zip
unzip project.zip -d /tmp/project

-r neemt de inhoud van de directory recursief op. unzip -l toont de inhoud; -d kiest de uitpakbestemming. Mogelijk moet je de commando's eerst installeren. ZIP is handig voor Windows- en macOS-gebruikers. Linux-ZIP-hulpmiddelen kunnen Unix-metadata opslaan, maar het herstellen van eigenaarschap en toegangsrechten op andere systemen werkt minder goed dan tar gebruiken voor een Linux-back-up.

Kies .tar.gz voor een gebruikelijke Linux-back-up, .tar.xz wanneer een kleinere download belangrijker is dan compressietijd, .zip om breed met desktopgebruikers te delen en gzip voor één groot tekstbestand. Bewaar bronbestanden totdat controles en een proefherstel aantonen dat het archief bevat wat je nodig hebt.

Belangrijkste punten

  • Gzip, bzip2 en xz comprimeren afzonderlijke bestanden en vervangen normaal hun invoerbestanden.
  • Gebruik -k om een origineel te bewaren; gebruik tar om een directory te bundelen.
  • Compressiewinst en het benodigde gebruik van systeemmiddelen hangen af van invoer en instellingen.
  • Gebruik lezers voor gecomprimeerde tekst en integriteitstests zonder alles uit te pakken.
  • ZIP is handig om te delen; tar is gebruikelijk voor Linux-back-ups die metadata bewaren.

Linux-processen, pakketten en services: voorbeelden

6 Walkthroughs

1

Zoek en beheer een drukke taak

17 stappen
Lees procesinformatie, bepaal welk systeemmiddel de beperking vormt en kies een passende beheeractie.
  1. 1
    IntroductieBegin bij het actieve werk

    Een terminal is traag geworden terwijl een langdurige compressietaak draait. Verbind voordat je iets stopt het zichtbare verschijnsel met een proces en een systeemmiddel.

    Je gaat van een procesmomentopname naar actuele informatie over CPU en geheugen en beslist daarna hoe je werk pauzeert, stopt of een lagere prioriteit geeft. De PID identificeert het proces; het taaknummer van de shell heeft een ander doel wanneer je de taak tussen voorgrond en achtergrond verplaatst.

  2. 2
    UitlegZoek de eigenaar en identiteit

    Voer ps -ef uit voor een momentopname van het hele systeem met PID en PPID. Een commando dat je vanuit je terminal start, is meestal een kindproces van die shell.

    Gebruik ps aux voor CPU- en geheugenkolommen. Een programma kan meerdere actieve instanties hebben, elk met een eigen PID. Controleer zowel het commando als de eigenaar wanneer je een doel kiest: een bekende naam kan meerdere processen aanduiden en een PID kan opnieuw worden gebruikt nadat het eerdere proces is beëindigd.

  3. 3
    VoorbeeldLees CPU-tijd correct

    Een ps-regel toont START 09:00, TIME 0:08 en toestand S. Het programma begon om 09.00 uur en heeft in totaal acht seconden CPU-tijd gebruikt. Het slaapt terwijl het op een gebeurtenis wacht.

    De verstreken tijd sinds de start staat niet in het veld TIME. Een service kan uren op verzoeken wachten en heel weinig CPU gebruiken. Gebruik pgrep -a NAME om relevante commandoregels te vinden en /proc/PID/status wanneer je de gedetailleerde weergave van de kernel nodig hebt.

  4. 4
    UitdagingInterpreteer een wachtende server

    Een server is gisteren gestart. De ps-regel heeft TIME 0:12, TTY ? en toestand S. Is dit bewijs dat de server het grootste deel van de dag niet heeft gedraaid? Leg de drie velden uit.

    ---reveal---

    Nee. De server heeft 12 seconden CPU-tijd gebruikt, heeft geen besturende terminal en slaapt momenteel. Wachten op verzoeken is normaal gedrag voor een service. Deze velden geven niet aan hoeveel uur de server beschikbaar is geweest of dat een bepaald verzoek is geslaagd.

  5. 5
    UitlegVolg het systeemmiddel dat verandert

    Open top. Druk op P voor sortering op CPU, M voor geheugen en 1 voor afzonderlijke CPU's. Druk op q om af te sluiten.

    Lees het overzicht samen met de proceslijst. Veel CPU-werk van gebruikersprogramma's wijst op rekenwerk; een hoge wa richt de aandacht op nog niet afgeronde I/O en een hoge st in een virtuele machine wijst op CPU-tijd die de hostcomputer niet aan het gastbesturingssysteem beschikbaar stelde. RES meet het aanwezige fysieke RAM; een grote VIRT-toewijzing alleen is een slechte maat voor fysiek geheugengebruik.

  6. 6
    VoorbeeldVergelijk systeembelasting met CPU-capaciteit

    Stel dat nproc 4 meldt en werk dat vooral CPU-tijd vraagt de belasting 6.00, 5.20, 3.10 toont. Bij weinig I/O-wachttijd betekent de recente belasting dat meer taken kunnen draaien dan vier CPU's tegelijk kunnen uitvoeren.

    De waarde over één minuut is hoger dan de gemiddelden over langere perioden, wat op een recente stijging wijst. De Linux-systeembelasting telt ook ononderbreekbaar wachtende taken, dus maak deze vergelijking opnieuw met het CPU-overzicht en de procestoestanden in beeld; het getal is geen CPU-percentage.

  7. 7
    KernpuntLees beschikbaar RAM vóór vrij RAM

    free -h kan weinig volledig vrij RAM tonen terwijl meerdere GiB beschikbaar blijven. Linux gebruikt ongebruikt RAM voor cache en kan een groot deel daarvan voor nieuw werk vrijmaken.

    Available schat de capaciteit zonder wisselruimte te gebruiken. Let op weinig beschikbaar geheugen samen met toenemend gebruik van wisselruimte als sterker bewijs van geheugendruk. Als de kernel werk beëindigt omdat het geheugen uitgeput is, kan een OOM-registratie in sudo journalctl -k de plotselinge beëindiging verklaren.

  8. 8
    UitdagingKies welk systeemmiddel je onderzoekt

    Een server heeft veel taken in toestand D, een hoge wa, laag CPU-gebruik door gebruikersprogramma's en ruim voldoende beschikbaar RAM. Welk systeemmiddel onderzoek je eerst en waarom kan de systeembelasting toch hoog zijn?

    ---reveal---

    Onderzoek eerst opslag of andere I/O-wachttijden. Linux telt ononderbreekbare taken mee in de systeembelasting, zodat een hoge belasting samen kan gaan met inactieve CPU's. De geheugencijfers wijzen niet op een direct RAM-tekort en een hoge belasting alleen kan rekenwerk op de CPU niet als oorzaak aanwijzen.

  9. 9
    UitlegVraag eerst om netjes af te sluiten

    Een signaal vraagt een proces om te handelen. kill PID stuurt SIGTERM, dat het programma de kans geeft de toestand op te slaan en gebruikte middelen vrij te geven. SIGKILL dwingt beëindiging af zonder de opruimcode van het programma.

    Controleer het doel, stuur TERM, geef het tijd en controleer opnieuw voordat je een sterker signaal stuurt. Een PID die nu bij een nieuw commando hoort, duidt een ander proces aan. Vraag bij een service onder toezicht van systemd via de beheerder om sudo systemctl stop NAME.

  10. 10
    VoorbeeldPauzeer en hervat bewust

    kill -STOP 5120 pauzeert proces 5120; kill -CONT 5120 hervat het. Het proces behoudt tijdens de pauze zijn geheugen en open bestanden.

    Ctrl+Z stuurt een verzoek om te pauzeren naar werk op de voorgrond van de terminal, terwijl Ctrl+C een onderbreking stuurt die het normaal beëindigt. Een zombieproces is al beëindigd en kan niet opnieuw worden beëindigd. Een taak die ononderbreekbaar op opslag wacht, kan zichtbaar blijven tot het wachten is afgelopen, zelfs na een gedwongen beëindigingssignaal.

  11. 11
    UitdagingHoud een beheerde service gestopt

    Een beheerd werkproces herstart nadat je de PID beëindigt. Je wilt het werkproces nu stoppen voor onderhoud. Welke actie past en waarom is het beëindigen van de nieuwe PID een slechte werkwijze?

    ---reveal---

    Gebruik sudo systemctl stop NAME. De servicebeheerder begrijpt dat deze stop bewust is en handelt de beheerde processen af. Een andere PID beëindigen kan dezelfde herstelcyclus herhalen, omdat systemd het beëindigen van het proces kan zien als reden om het werkproces te herstarten.

  12. 12
    VoorbeeldVerplaats een taak zonder die kwijt te raken

    Start sleep 300 op de voorgrond en druk daarna op Ctrl+Z. Bash meldt de taak als gestopt. bg %1 hervat taak 1 en geeft de prompt terug, en fg %1 brengt de taak weer naar de voorgrond.

    De %1 is een taakselectie binnen de shell, niet PID 1. Een gestopte taak is niet voltooid: die houdt systeemmiddelen vast. Als uitvoer van werk op de achtergrond de terminal verstoort, stuur die dan naar een bestand voordat je de taak laat doordraaien.

  13. 13
    TipBereid een taak voor op afmelden

    Gebruik voor een nieuwe langdurige taak nohup ./long-task.sh > task.log 2>&1 &. Nohup zorgt dat de taak HUP negeert, omleiding plaatst beide uitvoerstromen in een bestand en het en-teken plaatst de taak op de achtergrond.

    Elk onderdeel heeft een eigen taak. Een en-teken alleen beschermt niet tegen sluiting van de terminal. disown %1 van Bash kan een bestaande taak uit de takentabel van de shell verwijderen, maar de invoer en uitvoer hebben nog steeds geschikte bestemmingen nodig.

  14. 14
    UitlegVerlaag prioriteit zonder de snelheid te begrenzen

    Start zwaar werk met nice -n 10 COMMAND vanaf de gebruikelijke nice-waarde 0, of stel een actieve taak in met renice -n 15 -p PID. Hogere nice-waarden verlagen de normale prioriteit bij CPU-planning.

    Het bereik loopt van -20 tot en met 19. Een gewone gebruiker kan eigen werk doorgaans minder concurrerend maken; de prioriteit verhogen vereist meestal root. Een taak met nice 19 gebruikt een ongebruikte CPU nog steeds volledig en de nice-waarde stelt geen prioriteit voor schijftoegang in.

  15. 15
    UitdagingPas een actieve achtergrondtaak aan

    Je eigen compressietaak op de achtergrond heeft PID 9328 en nice 0. Je wilt concurrerend interactief werk meer gelegenheid geven om CPU-tijd te gebruiken zonder de taak te pauzeren. Welk commando en effect passen daarbij?

    ---reveal---

    renice -n 15 -p 9328 verlaagt de CPU-prioriteit door de nice-waarde te verhogen. De taak blijft draaien; bij concurrentie om CPU-tijd krijgt die minder gelegenheid. STOP sturen zou de taak volledig pauzeren, terwijl een negatieve nice-waarde de prioriteit zou verhogen.

  16. 16
    UitdagingVerbind de informatie met een reactie

    Een back-uptaak is actief met nice 0. Top toont dat die meerdere CPU's gebruikt, met weinig I/O-wachttijd en voldoende beschikbaar RAM; interactief werk is traag. Moet je de back-uptaak beëindigen om de interactieve taak te helpen?

    ---reveal---

    Nee. De informatie wijst op concurrentie om CPU-tijd, dus door de nice-waarde van de back-uptaak te verhogen kun je het interactieve werk meer gelegenheid geven terwijl de back-uptaak doorgaat. Als stoppen later nodig wordt, stel dan opnieuw vast om welk proces het gaat en vraag om netjes af te sluiten voordat je dwang overweegt.

  17. 17
    SamenvattingStem de actie af op de informatie

    Gebruik ps en pgrep om de identiteit vast te stellen en daarna top, free en de systeembelasting om de druk te begrijpen. Lees de toestand voordat je een proces interpreteert dat lijkt vast te zitten.

    Netjes afsluiten, pauzeren, naar de achtergrond verplaatsen en de prioriteit wijzigen lossen verschillende problemen op. Laat systemd services beheren, maak onderscheid tussen lokale taken en PID's en controleer het resultaat nadat je actief werk hebt gewijzigd.

2

Maak een bruikbaar hardwarerapport

10 stappen
Bepaal architectuur en capaciteit en verbind daarna gedetecteerde apparaten met stuurprogramma's en kernelmeldingen.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieVerzamel feiten die de eis beantwoorden
  2. 2
    UitlegBenoem de systeemlagen
  3. 3
    VoorbeeldTel de CPU-indeling
  4. 4
    UitlegVergelijk geïnstalleerd en bruikbaar geheugen
  5. 5
    UitdagingControleer een minimumeis
  6. 6
    VoorbeeldLees een opslagboom
  7. 7
    UitlegVerbind een apparaat met zijn stuurprogramma
  8. 8
    UitdagingHerken een nieuw aangesloten schijf
  9. 9
    UitdagingMaak onderscheid tussen capaciteit en ondersteuning door een stuurprogramma
  10. 10
    SamenvattingMaak het rapport specifiek
3

Installeer software en onderzoek wat is veranderd

14 stappen
Gebruik repository's, kies onderhoudsbewerkingen en herleid geïnstalleerde bestanden tot hun pakketten.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieHoud bestanden en pakketregistraties verbonden
  2. 2
    UitlegKies het repositoryhulpmiddel
  3. 3
    KernpuntEen afhankelijkheid hoort in het plan
  4. 4
    UitdagingVerklaar de extra pakketten
  5. 5
    VoorbeeldVervers vóór installatie
  6. 6
    UitlegLees wat een upgrade toestaat
  7. 7
    TipBepaal wat bij verwijdering behouden blijft
  8. 8
    UitdagingMaak onderscheid tussen verversen en toepassen
  9. 9
    VoorbeeldHerleid een commando tot het bijbehorende pakket
  10. 10
    UitlegZoek verder dan geïnstalleerde bestanden
  11. 11
    UitdagingKies de richting van de opvraging
  12. 12
    VerbandVerbind een fout met recent onderhoud
  13. 13
    UitdagingHerstel op basis van de informatie
  14. 14
    SamenvattingControleer de toestand die je werkelijk nodig hebt
4

Laat een service nu en na een herstart draaien

14 stappen
Lees de servicetoestand, kies beheercommando's en pas een lokale aanvullende unitinstelling toe.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieStel twee vragen over de toestand
  2. 2
    VoorbeeldLees Loaded en Active
  3. 3
    KernpuntEen actieve unit hoeft geen actief proces te hebben
  4. 4
    UitdagingInterpreteer uitgeschakeld maar draaiend
  5. 5
    UitlegKies nu, later of beide
  6. 6
    VoorbeeldPas een applicatieconfiguratie toe
  7. 7
    UitdagingBlokkeer een service en vergeet het proces niet
  8. 8
    UitlegLees de daadwerkelijk toegepaste unitdefinitie
  9. 9
    VoorbeeldBeschrijf een eenvoudige server op de voorgrond
  10. 10
    VoorbeeldZorg dat een aanvullende instelling upgrades overleeft
  11. 11
    UitdagingPas een rechtstreeks gewijzigd commando toe
  12. 12
    KernpuntHerstartregels respecteren een gevraagde stop
  13. 13
    UitdagingControleer een service na een unitwijziging
  14. 14
    SamenvattingHoud elke laag gescheiden
5

Zoek de oorzaak van een falende service

13 stappen
Filter logboeken, interpreteer een fout die de oorzaak aangeeft en controleer steeds één reparatie.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieBegin met een waarneembaar verschijnsel
  2. 2
    UitlegSelecteer de service en poging
  3. 3
    VoorbeeldBehoud nuttige meldingen met lage prioriteit
  4. 4
    UitdagingDoorzoek de juiste opstartsessie
  5. 5
    UitlegZoek applicatielogboeken en bestanden uit logrotatie
  6. 6
    VoorbeeldOnderzoek een applicatie die zonder melding eindigt
  7. 7
    UitdagingKies een oudere tekstbron
  8. 8
    VoorbeeldBegin met de eerste fout die de oorzaak aangeeft
  9. 9
    VoorbeeldZoek welk programma een bezette poort gebruikt
  10. 10
    KernpuntGebruik resultaatcodes om de volgende controle te kiezen
  11. 11
    UitdagingHerstel na een fout met een startlimiet
  12. 12
    UitdagingControleer zonder bewijsmateriaal te verliezen
  13. 13
    SamenvattingLaat elke bevinding de volgende stap bepalen
6

Maak een archief dat je kunt herstellen

11 stappen
Kies opgeslagen paden, controleer de archiefinhoud en vergelijk formaten voor compressie en delen.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductiePlan het herstel vóór het archief
  2. 2
    UitlegMaak onderscheid tussen verzamelen en verkleinen
  3. 3
    VoorbeeldMaak bruikbare relatieve paden
  4. 4
    VoorbeeldBekijk en pak uit in afzonderlijke stappen
  5. 5
    UitdagingVoorspel de indeling na het uitpakken
  6. 6
    TipHoud f naast de bestandsnaam
  7. 7
    UitlegWeet welke originelen overblijven
  8. 8
    VoorbeeldKies een formaat voor de taak
  9. 9
    UitdagingBewaar een logbestand tijdens het comprimeren
  10. 10
    UitdagingControleer zowel de kopie als de inhoud
  11. 11
    SamenvattingGebruik het passende formaat en de passende controles

Linux-processen, pakketten en services: oefenvragen

50 Oefenvragen in 5 sets

Set 1: Lees proces-, pakket- en servicetoestanden10 Oefenvragen

Vraag 1 van 10

Een proces heeft START 06:20 en TIME 0:04. Wat geeft TIME aan?
  1. Vier seconden sinds de start
  2. Vier seconden CPU-tijd
  3. Vier minuten sinds de start
  4. Vier minuten wachten op invoer
Toon antwoordVerberg antwoord
Antwoord: B
TIME telt de tijd op die het proces een CPU heeft gebruikt. Het veld START vertelt wanneer het begon, zodat een proces sinds de ochtend kan draaien en toch slechts vier seconden CPU-tijd heeft gebruikt. Als je TIME als verstreken tijd leest, verwar je uitgevoerd werk met de volledige periode waarin het proces bestond.

Vraag 2 van 10

Een server toont 0,2 GiB vrij RAM, 6,1 GiB beschikbaar RAM en geen groeiend gebruik van wisselruimte. Wat suggereert dit over de geheugendruk?
  1. Het RAM is uitgeput omdat free laag is.
  2. Voor nieuw werk is extra wisselruimte nodig.
  3. De cache is blijvend onbeschikbaar.
  4. Er is nog ruim voldoende RAM beschikbaar.
Toon antwoordVerberg antwoord
Antwoord: D
Beschikbaar geheugen schat wat nieuwe programma's kunnen gebruiken zonder wisselruimte te gebruiken, inclusief cache die kan worden vrijgemaakt. De waarde 6,1 GiB wijst daarom op beschikbare ruimte ondanks weinig volledig ongebruikt RAM. Als je de kolom free als de volledige resterende capaciteit beschouwt, zie je over het hoofd dat Linux ongebruikt geheugen voor caches gebruikt.

Vraag 3 van 10

Je hebt gecontroleerd dat PID 6842 je niet-reagerende teksteditor is. Welk signaal stuur je normaal eerst om te vragen af te sluiten?
  1. SIGTERM
  2. SIGKILL
  3. SIGSTOP
  4. SIGCONT
Toon antwoordVerberg antwoord
Antwoord: A
SIGTERM vraagt om beëindiging en laat de editor daarbij de toestand opslaan en opruimen. SIGKILL verhindert dat opruimen en is de terugvaloptie nadat een gecontroleerd proces niet op een normaal verzoek reageert. SIGSTOP pauzeert werk, terwijl SIGCONT het hervat; geen van beide is een normaal verzoek om af te sluiten.

Vraag 4 van 10

Je hebt de release nodig van de kernel die momenteel op een server draait. Welk commando geeft die?
  1. cat /etc/os-release
  2. uname -m
  3. uname -r
  4. nproc
Toon antwoordVerberg antwoord
Antwoord: C
Het releaseveld van uname duidt de kernel aan die nu draait. Het bestand os-release duidt daarentegen de Linux-distributie aan, die een eigen releasenummering heeft. Een nieuw kernelpakket installeren verandert het resultaat van uname pas wanneer de machine daadwerkelijk met die kernel opstart.

Vraag 5 van 10

Voor de installatie van een applicatie zijn ook twee bibliotheekpakketten uit geconfigureerde repository's nodig. Waarom is apt voor deze taak handiger dan dpkg?
  1. Het laat elke pakketarchitectuur werken.
  2. Het maakt vertrouwen in uitgevers overbodig.
  3. Het lost afhankelijkheden op en downloadt ze.
  4. Het installeert zonder systeembestanden te wijzigen.
Toon antwoordVerberg antwoord
Antwoord: C
APT gebruikt repositoryinformatie om pakketten te vinden en te downloaden die aan afhankelijkheidsvereisten voldoen en draagt het installatiewerk daarna over aan dpkg. Dpkg kan een lokaal bestand installeren en registreren, maar haalt de ontbrekende bibliotheken niet op. Toegang tot repository's neemt de eisen voor architectuurcompatibiliteit en vertrouwen in uitgevers niet weg.

Vraag 6 van 10

Een beheerder voert alleen sudo apt update uit. Wat is veranderd wanneer dit slaagt?
  1. Alle geïnstalleerde applicatieversies
  2. De lokale pakketlijsten van repository's
  3. De kernel die momenteel in het geheugen zit
  4. De systeemconfiguratie van elk pakket
Toon antwoordVerberg antwoord
Antwoord: B
APT update ververst lokale informatie over versies die beschikbaar zijn uit geconfigureerde repository's. Het installeert die versies niet; een upgrade of installatie brengt die wijziging aan. Een nieuwere kernel vereist ook een herstart voordat die actief wordt, dus lijsten verversen kan die niet veranderen.

Vraag 7 van 10

Een service meldt enabled en inactive (dead). Hoe moet je die combinatie lezen?
  1. Ingesteld voor automatische activering, nu gestopt
  2. Draait nu, uitgesloten van automatische activering
  3. Nu mislukt, geblokkeerd voor elke latere start
  4. Draait nu, wacht op de opstartkoppelingen
Toon antwoordVerberg antwoord
Antwoord: A
Enabled beschrijft inschakelingskoppelingen, die vaak worden gebruikt om een service bij het opstarten te starten, terwijl inactive de huidige toestand beschrijft. Dat zijn afzonderlijke eigenschappen, dus de combinatie is geldig. Als je enabled leest als momenteel draaiend, mis je een service die bewust is gestopt of nooit succesvol is gestart.

Vraag 8 van 10

Een gestopte service moet nu starten en voor toekomstige opstartsessies worden ingeschakeld. Welk commando combineert die acties?
  1. sudo systemctl enable nginx
  2. sudo systemctl start nginx
  3. sudo systemctl unmask nginx
  4. sudo systemctl enable --now nginx
Toon antwoordVerberg antwoord
Antwoord: D
Enable met --now maakt inschakelingskoppelingen en start de service. Enable alleen laat de huidige toestand ongewijzigd, terwijl start alleen de instelling voor automatisch starten ongewijzigd laat. Unmask verwijdert alleen een startblokkade en voldoet op zichzelf dus aan geen van beide onderdelen van de gevraagde wijziging.

Vraag 9 van 10

Je wilt nginx-registraties van de huidige opstartsessie, inclusief meldingen op informatieniveau. Welk commando selecteert die gegevens?
  1. sudo journalctl -u nginx -b -1
  2. sudo journalctl -u nginx -b
  3. sudo journalctl -u nginx -b -p err
  4. sudo journalctl -k -b
Toon antwoordVerberg antwoord
Antwoord: B
Het unitfilter selecteert nginx en -b selecteert deze opstartsessie zonder de meldingsprioriteit te beperken. Als je -p err toevoegt, worden meldingen op informatieniveau verborgen, die nuttige details over gebeurtenissen kunnen bevatten. Het filter voor de vorige opstartsessie wijzigt de tijdsafbakening en -k selecteert kernelmeldingen in plaats van het volledige logboek van de service.

Vraag 10 van 10

Je archiveert /srv/notes/day.txt, dat eigendom is van root, met tar -czf notes.tar.gz -C /srv notes. Als gewone gebruiker voer je daarna tar -xzf notes.tar.gz -C /tmp/inspect uit om het in die lege bestaande directory uit te pakken. Welk pad en welke eigenaar heeft het herstelde bestand normaal?
  1. /tmp/inspect/srv/notes/day.txt, eigendom van de gebruiker die uitpakt
  2. /tmp/inspect/notes/day.txt, eigendom van root
  3. /srv/notes/day.txt, eigendom van de gebruiker die uitpakt
  4. /tmp/inspect/notes/day.txt, eigendom van de gebruiker die uitpakt
Toon antwoordVerberg antwoord
Antwoord: D
Het aanmaakcommando slaat het relatieve item notes/day.txt op en bij het uitpakken komt dit onder /tmp/inspect. Een gewone gebruiker maakt herstelde bestanden normaal onder eigen eigenaarschap. Wie root als eigenaar verwacht, verwart geregistreerde metadata met de bevoegdheid die nodig is om die eigenaar te herstellen; wie een srv-voorvoegsel verwacht, houdt geen rekening met de directorywijziging bij het maken.
Set 2: Pas dagelijkse Linux-onderhoudscommando's toe10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Bash toont [3] 9026 na het starten van een taak. Hoe breng je die taak naar de voorgrond?
  1. fg %9026
  2. bg %3
  3. fg %3
  4. kill -CONT 3
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een server met acht CPU's heeft vooral werk dat CPU-tijd vraagt, weinig I/O-wachttijd en gemiddelde belastingen 12.0, 8.0, 4.0. Wat is de beste interpretatie?
  1. De recente CPU-vraag overstijgt de capaciteit en is gestegen.
  2. De recente CPU-vraag is laag en is gedaald.
  3. Twaalf procent van de CPU-capaciteit wordt gebruikt.
  4. Elke taak is geblokkeerd op toegang tot opslag.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een PCI-netwerkadapter verschijnt in lspci maar heeft geen regel Kernel driver in use. Wat moet je vervolgens onderzoeken?
  1. Het nummer van de voorgrondtaak van de shell
  2. Alleen de commerciële naam van het apparaat
  3. Alleen de pakketgeschiedenis van de huidige gebruiker
  4. De stuurprogrammakoppeling en kernelfoutmeldingen
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Hoe vind je op een Debian-systeem het geïnstalleerde pakket waarbij /usr/bin/less hoort?
  1. dpkg -L /usr/bin/less
  2. dpkg -S /usr/bin/less
  3. apt search /usr/bin/less
  4. apt policy /usr/bin/less
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Je wilt een Debian-pakket verwijderen maar de beheerde systeemconfiguratie voor een latere herinstallatie bewaren. Welke bewerking past?
  1. sudo apt remove NAME
  2. sudo apt purge NAME
  3. sudo apt autoremove
  4. sudo apt update
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Je bewerkt de regel ExecStart van een unit rechtstreeks op schijf. Welke volgorde past het nieuwe commando toe op een draaiende service?
  1. Herlaad de applicatie en schakel die dan in
  2. Herlaad unitdefinities en herstart de service
  3. Schakel de service in en vraag de bestanden op
  4. Vraag de status op en voer alleen reset-failed uit
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een gebeurtenis van twee dagen geleden ontbreekt in het huidige tekstlogboek. De directory bevat ook app.log.2.gz. Hoe kun je dat oudere bestand rechtstreeks doorzoeken?
  1. journalctl -u app.log.2.gz
  2. tail -f app.log
  3. gzip app.log.2.gz
  4. zgrep "timeout" app.log.2.gz
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een zelfgemaakte service meldt 203/EXEC. Het logboek bevat geen melding dat de applicatie is gestart. Het unitbestand noemt /opt/worker/run, maar dat pad ontbreekt. Welke herstelvolgorde past bij deze informatie?
  1. Maak de servicegebruiker aan, wis het logboek en herstart
  2. Verhoog RestartSec en wacht op de volgende automatische poging
  3. Corrigeer ExecStart, herlaad definities, start de service en controleer
  4. Schakel de service in en herstart zonder het commando te wijzigen
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Je moet report.log met gzip comprimeren en het ongecomprimeerde bestand bewaren. Welk commando past?
  1. gzip -k report.log
  2. gzip report.log
  3. gunzip report.log
  4. tar -cf report.log.gz report.log
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Op Debian heeft dpkg een vertrouwd lokaal pakket onvolledig geïnstalleerd omdat twee afhankelijkheden ontbraken. Een andere automatische update houdt momenteel de pakketbeheervergrendeling vast. Wat is de beste volgende volgorde?
  1. Verwijder het vergrendelingsbestand en herhaal de installatie op laag niveau
  2. Verwijder het hoofdpakket inclusief configuratie en schakel handtekeningcontroles uit
  3. Wacht tot de vergrendeling vrijkomt en bekijk een hersteltransactie van apt
  4. Ververs pakketlijsten en neem aan dat de ontbrekende bibliotheken zijn geïnstalleerd
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 3: Verbind informatie met de juiste actie10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een proces heeft de markering Z en het bovenliggende proces blijft draaien. Waarom verwijdert SIGKILL naar die PID sturen de vermelding niet?
  1. Het proces is gepauzeerd en heeft SIGCONT nodig om af te sluiten.
  2. Het proces rekent met een negatieve nice-waarde.
  3. Het proces is geblokkeerd tot opslag een bewerking voltooit.
  4. Het proces is beëindigd en wacht tot het bovenliggende proces de status ophaalt.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Volgens een oude notitie heeft een gegevensexporttaak PID 7440, maar ps toont nu dat onder die PID een teksteditor draait. pgrep vindt twee gegevensexportprocessen: PID 8550 is jouw data-export --daily; PID 8551 is data-export --weekly van een andere gebruiker. Je wilt alleen je dagelijkse taak netjes laten afsluiten. Welke actie past?
  1. Stuur SIGTERM naar de opgeslagen PID 7440
  2. Controleer PID 8550 en stuur daarna SIGKILL
  3. Controleer PID 8550 en stuur daarna SIGTERM
  4. Gebruik pkill data-export met rootrechten
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een uniforme CPU-indeling heeft 2 sockets, 3 kernen per socket en 2 threads per kern. Hoeveel fysieke kernen en logische CPU's levert dit op?
  1. 6 kernen en 12 logische CPU's
  2. 12 kernen en 12 logische CPU's
  3. 3 kernen en 6 logische CPU's
  4. 6 kernen en 6 logische CPU's
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

APT wijst metadata van een nieuw toegevoegde repository af omdat de verwachte ondertekeningssleutel ontbreekt. Welke reactie behoudt de beoogde vertrouwenscontrole?
  1. Accepteer eenmaal ongetekende metadata omdat het pakket bekend is
  2. Controleer de uitgever en installeer de echte sleutel correct
  3. Download hetzelfde pakket in plaats daarvan van een ongecontroleerde spiegelserver
  4. Gebruik dpkg zodat de ontbrekende repositorysleutel de installatie niet kan blokkeren
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

De geïnstalleerde versie van een pakket is 3.2 en de APT-kandidaatversie is 3.4. Wat betekent dit?
  1. Versie 3.2 is geïnstalleerd; 3.4 is geselecteerd voor een upgrade.
  2. Versie 3.4 is geïnstalleerd; 3.2 is de versie die vóór een herstart wordt gebruikt.
  3. Beide versies zijn geïnstalleerd omdat policy twee waarden toont.
  4. Versie 3.2 is alleen beschikbaar uit een uitgeschakelde repository.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een service toont active (exited) na het succesvol voltooien van een eenmalige insteltaak. Wat betekent deze toestand?
  1. Het hoofdprogramma moet nog CPU gebruiken.
  2. Het staat vast dat de insteltaak is mislukt.
  3. De unit is voor alle toekomstige starts geblokkeerd.
  4. De voltooide taak wordt nog als actief beschouwd.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een pakketupgrade heeft je wijziging in het bestand van de leverancier gewist. Je moet het enige ExecStart-commando blijvend vervangen en het nieuwe commando nu toepassen. Welke volgorde past?
  1. Bewerk het nieuwe leveranciersbestand, voeg een ExecStart toe en schakel in
  2. Maak een lokaal aanvullend configuratiebestand, reset ExecStart, stel de vervanging in en herstart
  3. Maak een lokaal aanvullend configuratiebestand, voeg een ExecStart toe en schakel in
  4. Maak een lokaal aanvullend configuratiebestand, reset ExecStart en herlaad alleen de applicatie
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Welke prioriteitsniveaus omvat journalctl -p err?
  1. Alleen fout, uitsluitend niveau 3
  2. Fout tot en met foutopsporing, niveau 3–7
  3. Noodsituatie tot en met fout, niveau 0–3
  4. Waarschuwing en informatie, niveau 4–6
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Het logboek van een service meldt eerst een syntaxisfout in de configuratie, daarna herhaalde fouten en een begrenzing van de startfrequentie. Je corrigeert het bestand en de syntaxiscontrole slaagt. Wat moet volgen?
  1. Verhoog de CPU-prioriteit, herstart en verwijder oude logregistraties
  2. Wis de foutstatus en neem aan dat de draaiende service is hersteld
  3. Schakel de unit in en wacht zonder een nieuwe start aan te vragen
  4. Wis de foutstatus, start de service en controleer status en werking
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een team heeft één gecomprimeerd directoryarchief nodig dat desktopgebruikers op Windows en macOS gemakkelijk kunnen openen. Welk commando is een geschikte keuze?
  1. gzip -r handoff
  2. zip -r handoff.zip handoff
  3. zip handoff.zip handoff
  4. xz handoff
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 4: Onderzoek onderhoudsproblemen met verschillende hulpmiddelen10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een compressietaak kan veilig vanaf het begin worden herstart. De taak is met nice 0 vanuit een terminal gestart, concurreert met interactief werk en moet na afmelden blijven draaien. Welk nieuw startplan voldoet aan deze behoeften?
  1. Plaats de taak met & op de achtergrond en sluit de terminal zonder verdere wijzigingen
  2. Herstart met nohup, uitvoeromleiding en een positieve aanpassing van de nice-waarde
  3. Gebruik nohup met nice -10 zodat de interactieve taak meer CPU krijgt
  4. Leid uitvoer om en stop het proces met SIGSTOP tot morgen
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een server met 12 CPU's heeft belasting 18, laag CPU-gebruik door gebruikersprogramma's en veel taken in toestand D. Het beschikbare RAM is hoog en het gebruik van wisselruimte stabiel. Welke informatie moet het volgende onderzoek sturen?
  1. Wachten op opslag kan de belasting ondanks inactieve CPU's verklaren.
  2. De CPU-vraag alleen bewijst dat meer kernen nodig zijn.
  3. Het lage CPU-gebruik door gebruikersprogramma's bewijst dat de belastingsweergave kapot is.
  4. Geheugenuitputting verklaart elke taak in toestand D op de hostcomputer.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een USB-schijf was gisteren /dev/sdb. Vandaag is eerst een ander apparaat aangesloten en schrijven naar de verkeerde schijf zou benodigde bestanden wissen. Wat moet nu je doel bepalen?
  1. De apparaatletter van gisteren omdat USB-namen permanent zijn
  2. De eerste verwijderbare vermelding, ongeacht de huidige capaciteit
  3. De huidige grootte, het model en de UUID vergeleken met de bedoelde schijf
  4. Het apparaat met de laagste letter na een herstart van het systeem
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

APT houdt een applicatieupgrade achter omdat daarvoor een geïnstalleerd pakket moet worden verwijderd. Een nieuw kernelpakket is al geïnstalleerd, maar uname meldt nog de oude kernel. Je hebt beide wijzigingen actief nodig. Welk plan past?
  1. Ververs APT-lijsten, sla installatie over, herstart en controleer alleen uname
  2. Voer apt upgrade met -y uit, herstart de applicatie en sla de systeemherstart over
  3. Verwijder de pakketvergrendeling, installeer opnieuw met dpkg en controleer alleen bestanden
  4. Bekijk full-upgrade, pas die toe, herstart en controleer beide versies
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Op een RPM-systeem ontbreekt /usr/bin/scan. Je wilt achterhalen welk repositorypakket dat exacte pad levert. Welke opvraging past?
  1. rpm -qf /usr/bin/scan
  2. rpm -ql /usr/bin/scan
  3. dnf provides /usr/bin/scan
  4. dnf history info /usr/bin/scan
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een draaiende service is uitgeschakeld, maar wordt na het stoppen steeds opnieuw door de socket geactiveerd. Het beleid vereist dat toekomstige starts worden geblokkeerd en de service nu wordt gestopt. Welke actie past?
  1. Maskeer de service en stop die
  2. Schakel de service in zonder --now
  3. Schakel de service een tweede keer uit
  4. Hef de maskering op en herlaad de service
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Wat legt After=network.target op zichzelf vast in een unitbestand?
  1. Een vereiste om die doelunit te starten
  2. Een volgorderelatie met die doelunit
  3. Een garantie op internetverbinding
  4. Een inschakelingskoppeling voor toekomstige opstartsessies
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een programma verdween tijdens de vorige opstartsessie. Het eigen logboek eindigt zonder fout en het persistente logboek bewaart die opstartsessie. Waar controleer je of de OOM-killer van de kernel het heeft beëindigd?
  1. sudo journalctl -k -b -1
  2. sudo dmesg -w
  3. sudo journalctl -k -b
  4. sudo tail -f /var/log/apt/history.log
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Nginx kan poort 8080 niet binden. Een opvraging van luisterende programma's wijst een tweede service aan die het systeem moet behouden. Beide services moeten draaien. Welke herstelrichting volgt hieruit?
  1. Schakel de tweede service permanent uit en controleer alleen nginx
  2. Beëindig de PID van de tweede service telkens als systemd die herstart
  3. Wijzig één luisterconfiguratie, test die en controleer beide services
  4. Wis het logboek en probeer nginx opnieuw met dezelfde configuratie
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een tar-archief toont bundle/a.txt en bundle/b.txt. Je wilt alleen b.txt herstellen. Welke itemnaam moet je opvragen?
  1. b.txt
  2. /bundle/b.txt
  3. archive.tar.gz/b.txt
  4. bundle/b.txt
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 5: Plan en controleer volledige Linux-reparaties10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Voor een geheugenonderzoek zijn de vijf grootste processen met hun bovenliggende processen nodig. Welk commando geeft een kopregel en vijf gegevensregels?
  1. ps -eo pid,ppid,%mem,cmd --sort=-%mem | head -n 6
  2. ps -eo pid,ppid,%mem,cmd --sort=%mem | head -n 6
  3. ps -eo pid,ppid,%mem,cmd --sort=-%mem | head -n 5
  4. ps -eo pid,ppid,%mem,cmd --sort=%mem | head -n 5
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Je vindt een onbeheerde kopieertaak in toestand D die op niet-beschikbare opslag wacht, een zombiekindproces van je applicatie en een systemd-werkproces dat na een beëindigingssignaal herstart. Welk plan behandelt alle drie de situaties?
  1. Herhaal KILL bij het wachten op opslag; stuur KILL naar het zombieproces; blijf de PID van het werkproces beëindigen
  2. Hervat het wachten op opslag met CONT; haal het zombieproces op met KILL; schakel het werkproces alleen uit
  3. Onderzoek de opslag; bekijk het bovenliggende proces van het zombieproces; stop het werkproces via systemd
  4. Verhoog alle prioriteiten; herstart het zombieproces; maskeer het werkproces zonder het te stoppen
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Twee van je taken die veel CPU-tijd vragen, concurreren met elkaar. De ene heeft nice 0 en de andere nice 15. Welke heeft de lagere prioriteit bij CPU-planning?
  1. De taak met nice 0
  2. Beide hebben dezelfde prioriteit
  3. De taak met de lagere PID
  4. De taak met nice 15
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Software heeft 64-bit ARM, 6 beschikbare CPU's en 8 GB bruikbaar RAM nodig. Een hostcomputer meldt aarch64, één socket met vier kernen en twee threads per kern, nproc 4 en 7,6 GiB bruikbaar RAM. Aan welke eisen is voldaan?
  1. Architectuur en CPU's voldoen; bruikbaar RAM voldoet niet.
  2. Architectuur en RAM voldoen; het aantal beschikbare CPU's voldoet niet.
  3. Alles voldoet omdat acht hardwarethreads meer zijn dan zes.
  4. Alleen RAM voldoet omdat aarch64 geen arm64 is.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Op het etiket van een schijf staat 1 TB en een lijst in binaire eenheden toont ongeveer 931 GiB. Wat verklaart het verschil?
  1. De ontbrekende capaciteit moet volledig aan wisselruimte zijn toegewezen.
  2. Het etiket gebruikt decimale bytes en de lijst gebruikt binaire eenheden.
  3. De lijst heeft hardwarethreads in plaats van schijfblokken geteld.
  4. De schijf kan het verschil herstellen door een nieuw stuurprogramma te laden.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een collega zegt dat apt een met pip geïnstalleerde Python-bibliotheek als geïnstalleerd Debian-pakket zal tonen. Waarom klopt die redenering niet?
  1. Pip wijzigt alleen kernelmodules, geen Python-bibliotheken.
  2. APT registreert bibliotheken pas na elke herstart van het systeem.
  3. APT toont elk gedownload bestand als geïnstalleerd pakket.
  4. Pip en apt houden afzonderlijke installatieregistraties bij.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een uitgeschakelde service is actief en de socket ervan is ingeschakeld. Hoe kan die toestand ontstaan?
  1. De service moet stiekem ingeschakeld zijn omdat die actief is.
  2. Uitgeschakeld betekent dat de statusuitvoer niet meer betrouwbaar is.
  3. De socket kan de service activeren zonder eigen inschakelingskoppelingen.
  4. Een uitgeschakelde service kan alleen na een kernelupgrade draaien.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Nginx verwerkt nog steeds verzoeken. Je hebt ExecStart van de unit rechtstreeks gewijzigd in een geldig nieuw programmapad en ook de nginx-instellingen bewerkt; nginx -t vindt nu een syntaxisfout. Welke volgorde past beide bedoelde wijzigingen toe met een geteste configuratie?
  1. Herstel de nginx-instellingen, laat de test slagen, herlaad unitdefinities, herstart en controleer
  2. Herlaad eerst unitdefinities, herlaad nginx direct en laat het oude proces draaien
  3. Herstart direct en gebruik enable om de vorige configuratie te herstellen
  4. Herstel de nginx-instellingen, laat de test slagen en herlaad alleen de applicatie
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Op Ubuntu traden op 20-10-2026 van 10.00 tot 10.30 uur mislukte SSH-aanmeldingen op tijdens de opstartsessie vóór de huidige. Het logboek bewaart die opstartsessie. Welk commando selecteert die serviceregistraties zonder aanmeldmeldingen op informatieniveau uit te sluiten?
  1. sudo journalctl -u ssh -b --since "2026-10-20 10:00" --until "2026-10-20 10:30"
  2. sudo journalctl -u ssh -b -1 -p err --since "2026-10-20 10:00" --until "2026-10-20 10:30"
  3. sudo journalctl -k -b -1 --since "2026-10-20 10:00" --until "2026-10-20 10:30"
  4. sudo journalctl -u ssh -b -1 --since "2026-10-20 10:00" --until "2026-10-20 10:30"
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Je moet een directory tussen Linux-machines overdragen, eigenaarschapsmetadata voor een herstel door root bewaren en bevestigen dat de bytes bij de overdracht behouden zijn gebleven. Welk plan past?
  1. Comprimeer elk bestand met gzip, vergelijk alleen bestandsnamen en verwijder de bronboom
  2. Maak een tar.gz-archief, vergelijk SHA-256-waarden en test daarna een herstel
  3. Hernoem de directory met een achtervoegsel .zip en vergelijk het totale aantal bestanden
  4. Maak een tar.gz-archief, controleer het achtervoegsel en neem aan dat elk bestand is aangekomen
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Kom je niet uit je eigen opgave? Huiswerkhulp

Kernbegrippen

78 Kernbegrippen, elk met een definitie

A

aanvullend configuratiebestand
Een aanvullend configuratiebestand vult een unitdefinitie aan met lokale instellingen, zodat wijzigingen van de beheerder gescheiden blijven van meegeleverde bestanden.
Een instelling Restart in een lokaal aanvullend configuratiebestand kan vervanging van de leveranciersunit tijdens een upgrade overleven.
achtergrondtaak
Een achtergrondtaak is door de shell beheerd werk dat draait zonder de voorgrond te bezetten, zodat de shell meer commando's kan accepteren.
Een rapport op de achtergrond kan in de prompt blijven schrijven tenzij de uitvoer is omgeleid.
activiteitsstatus
De activiteitsstatus van een service beschrijft de huidige toestand, zoals draaiend, inactief, mislukt of een voltooide taak die als actief wordt beschouwd.
Een ingeschakelde service kan de activiteitsstatus mislukt hebben nadat de applicatie een configuratie heeft afgewezen.
afhankelijkheid
Een afhankelijkheid is een ander pakket dat software nodig heeft om te werken, zoals een gedeelde bibliotheek die het uitvoerbare bestand gebruikt.
Bij de installatie van een kleine applicatie kunnen ook meerdere bibliotheken worden geïnstalleerd die aan de afhankelijkheden voldoen.
afsluitstatus
Een afsluitstatus is een code die beschrijft hoe een programma of startfase is geëindigd en helpt een applicatiefout van een startfout te onderscheiden.
Een resultaat 203/EXEC wijst je op uitvoeringsvereisten voordat je de eigen startmeldingen van de applicatie doorzoekt.
apparaatbestand
Een apparaatbestand is een speciaal bestand, meestal onder /dev, waarmee software toegang krijgt tot een apparaat dat door de kernel wordt weergegeven.
De NVMe-partitienaam /dev/nvme0n1p2 duidt een partitie aan en geen directory met bestanden.
archief
Een archief bundelt meerdere bestanden en directory's in één geheel en bewaart de opgeslagen itemnamen en geselecteerde bestandsmetadata.
Een tar-archief kan een Linux-directoryboom bewaren terwijl een compressieprogramma de grootte afzonderlijk verkleint.
archiefitem
Een archiefitem is een opgeslagen bestands- of directoryvermelding die wordt aangeduid door het pad binnen een archief, dat van het oorspronkelijke pad kan verschillen.
Om één bestand uit te pakken heb je de itemnaam uit de lijst nodig, inclusief een eventueel directoryvoorvoegsel.
architectuur
Een processorarchitectuur duidt de machinecodefamilie aan die een systeem uitvoert, zoals x86_64 of aarch64, en beïnvloedt de compatibiliteit van pakketten.
Een ARM-pakket wordt niet compatibel met een x86-server alleen omdat beide Linux gebruiken.
automatisch verwijderen van overbodige afhankelijkheden
Automatisch verwijderen van overbodige afhankelijkheden verwijdert na beoordeling van de transactie automatisch geïnstalleerde afhankelijkheidspakketten die de geïnstalleerde pakketten niet meer nodig hebben.
Een bibliotheek die voor een applicatie is toegevoegd, kan voor autoremove in aanmerking komen wanneer die applicatie wordt verwijderd.

B

begrenzing van de startfrequentie
Een begrenzing van de startfrequentie beperkt herhaalde startpogingen van een service binnen een ingestelde periode en voorkomt dat snel herhaalde fouten eindeloos nieuwe pogingen veroorzaken.
Verhelp de eerste fout voordat je de limiettellers met reset-failed wist en een nieuwe start test.
beschikbaar geheugen
Beschikbaar geheugen is een schatting van het RAM dat nieuw werk kan gebruiken zonder wisselruimte te gebruiken, inclusief capaciteit die uit caches kan worden vrijgemaakt.
Als het vrije RAM laag is, lees dan de kolom available voordat je beslist dat de server meer geheugen nodig heeft.
bestandsmetadata
Bestandsmetadata beschrijven eigenschappen zoals eigenaarschap, toegangsrechten en tijdstempels, die tar naast de bestandsinhoud registreert.
Een herstel door root kan geregistreerde eigenaren toepassen, terwijl herstel door een gewone gebruiker normaal bestanden maakt die van die gebruiker zijn.
blokapparaat
Een blokapparaat is een apparaat dat via adresseerbare opslagblokken wordt benaderd, zoals een schijf of partitie die onder /dev. wordt weergegeven.
De lsblk-boom plaatst een partitie onder de schijf waarvan die de opslag in afzonderlijke gebieden verdeelt.

C

compressie
Compressie codeert gegevens in minder bytes wanneer de inhoud dat toelaat, ten koste van verwerkingswerk en soms geheugen, zodat minder opslagruimte nodig is.
Tekstlogboeken krimpen vaak veel meer dan JPEG-afbeeldingen omdat die afbeeldingen al zijn gecomprimeerd.
configuratie herladen
Configuratie herladen vraagt een applicatie die dit ondersteunt om de eigen configuratie opnieuw te lezen zonder volledig te stoppen en opnieuw te starten.
Test de gewijzigde configuratie van nginx voordat je om herladen vraagt, zodat fouten vóór toepassing worden gevonden.
configuratietest
Een configuratietest controleert voorgestelde instellingen van een applicatie voordat ze worden toegepast en wijst syntaxisfouten vaak per bestand en regel aan.
Een geslaagde nginx -t na een correctie geeft een reden om door te gaan met de geplande herlaadactie of herstart.
controlesom
Een controlesom is een waarde die uit de bytes van een bestand wordt berekend en tussen kopieën kan worden vergeleken om vast te stellen of hun inhoud overeenkomt.
Vergelijk SHA-256-waarden na het overdragen van een archief en controleer daarna afzonderlijk of het archief de gewenste bestanden bevat.

D

doelunit
Een systemd-doelunit groepeert units in een benoemde systeemtoestand, zoals een grafisch bureaublad of een niet-grafische omgeving voor meerdere gebruikers.
Multi-user.target als standaard instellen wijzigt de keuze voor toekomstige opstartsessies zonder het huidige bureaublad te sluiten.

E

ExecStart
ExecStart is de service-instelling die een uit te voeren programma opgeeft met een absoluut pad naar het uitvoerbare bestand of een eenvoudige naam van een uitvoerbaar bestand.
Een commando dat begint met ./worker heeft een relatief pad met een schuine streep en is geen geldige vorm voor een uitvoerbaar bestand.

F

firmwaretabel
Een firmwaretabel registreert hardware-informatie die de firmware van de machine levert en die hulpmiddelen zoals dmidecode kunnen lezen.
Een overzicht van geheugenslots uit dmidecode kan de geregistreerde grootte en het type van elke module aanduiden.
fysieke processorkern
Een fysieke processorkern is een hardwarekern van een processor die via gelijktijdige multithreading meer dan één logische CPU kan bieden.
Tel sockets en kernen per socket voordat je het aantal fysieke kernen in een server beschrijft.

G

geïnstalleerde versie
Een geïnstalleerde versie is de pakketversie die lokaal als geïnstalleerd is geregistreerd, los van een versie die alleen in een repository beschikbaar is.
Een beleidsopvraging kan geïnstalleerde versie 2.4 en kandidaatversie 2.6 tonen voordat een upgrade is toegepast.
gemiddelde systeembelasting
De gemiddelde systeembelasting is het gemiddelde aantal taken dat kan draaien en taken dat ononderbreekbaar slaapt, weergegeven voor 1, 5 en 15 minuten.
Een hoge belasting met weinig CPU-activiteit kan je onderzoek richten op werk dat door opslag is geblokkeerd.
gzip
Gzip is een compressieformaat en hulpmiddel voor afzonderlijke bestanden, dat vaak wordt gebruikt voor logboeken en tar-archieven en brede ondersteuning met goede snelheid combineert.
Gzip -k bewaart een ongecomprimeerd logbestand terwijl het een .gz-kopie maakt voor opslag of overdracht.

H

handtekeningverificatie
Handtekeningverificatie controleert de echtheid van gegevens met een vertrouwde ondertekeningssleutel en ondersteunt zo de vertrouwensketen naar de uitgever in een pakketsysteem.
Een ontbrekende echte repositorysleutel moet worden toegevoegd zonder de echtheidscontrole uit te schakelen.
herladen van unitdefinities
Het herladen van unitdefinities laat systemd zijn unitdefinities opnieuw lezen, zonder zelf een applicatie te herladen of elke service te herstarten.
Herlaad na een rechtstreekse wijziging van het commando van een unit de definities en herstart die service om het nieuwe commando te gebruiken.
herstart
Een herstart van een service stopt en start het beheerde werk opnieuw, zodat nieuwe instellingen of vervangen programmacode van kracht kunnen worden.
Als je een werkende service met een ongeldige configuratie herstart, kan die gestopt blijven nadat de nieuwe start mislukt.
herstartbeleid
Het herstartbeleid van een service bepaalt welke beëindigingen van processen automatische herstelpogingen veroorzaken, binnen limieten en met inachtneming van expliciete stopverzoeken.
On-failure kan na vastlopen herstarten, terwijl een bewuste systemctl stop de service gestopt houdt.

I

I/O-wachttijd
I/O-wachttijd is inactieve CPU-tijd die wordt toegerekend terwijl I/O nog niet is afgerond. Die wordt in top als wa getoond en helpt bij onderzoek naar vertragingen in opslag.
Een hoge wa en weinig CPU-werk van gebruikersprogramma's maken een opslagcontrole nuttiger dan nice-waarden wijzigen.
inschakeling voor automatisch starten
Inschakeling voor automatisch starten is configuratie via koppelingen die automatische activering van een unit regelt, vaak als onderdeel van een doelunit bij het opstarten.
Een uitgeschakelde service kan toch draaien omdat die handmatig is gestart of door een socket is geactiveerd.

K

kandidaatversie
Een kandidaatversie is de pakketversie die APT volgens het geconfigureerde beleid momenteel voor installatie of upgrade zou selecteren.
Een kandidaatversie kan veranderen na het verversen van repositorylijsten, ook al blijven de geïnstalleerde bestanden gelijk.
kernellogboek
Het kernellogboek registreert gebeurtenissen van de kernel van het besturingssysteem, waaronder hardwaredetectie, fouten van stuurprogramma's en acties bij geheugenuitputting.
Als een proces zonder melding verdwijnt, controleer dan kernelmeldingen op een beëindiging door de OOM-killer voordat je een applicatiefout aanneemt.
kernelmodule
Een kernelmodule is een stuk kernelcode dat in een actieve kernel kan worden geladen, vaak om hardwareondersteuning te bieden.
De modulelijst toont geladen code; een apparatenlijst helpt vaststellen welk stuurprogramma daadwerkelijk is gekoppeld.

L

logische CPU
Een logische CPU is een verwerkingseenheid die voor planning beschikbaar wordt gesteld; meerdere logische CPU's kunnen via hardwarethreads één fysieke kern delen.
Zes kernen met elk twee threads bieden 12 logische CPU's, hoewel er nog steeds zes kernen zijn.
logrotatie
Logrotatie beperkt de groei van tekstlogboeken door nieuwe bestanden te beginnen, oudere bestanden te hernoemen en vaak te comprimeren, en verlopen registraties te verwijderen.
Een mislukte aanmelding van vorige week kan in een gecomprimeerd ouder bestand uit logrotatie staan in plaats van in het authenticatielogboek van vandaag.

M

maskering
Een systemd-maskering blokkeert nieuwe starts van een unit, meestal via een koppeling naar /dev/null, inclusief handmatige starts en starts als afhankelijkheid.
Een gemaskeerde service die al draaide, heeft een afzonderlijk stopverzoek nodig als die moet ophouden met werken.
MemTotal
MemTotal is het bruikbare fysieke RAM dat de kernel in /proc/meminfo meldt. Geheugen dat vóór normaal gebruik is gereserveerd, telt niet mee.
Geïnstalleerde modules kunnen samen 16 GiB bevatten, ook wanneer MemTotal een iets kleinere bruikbare hoeveelheid meldt.

N

nice-waarde
Een nice-waarde past de normale prioriteit bij CPU-planning aan, waarbij hogere waarden concurrerende taken meer gelegenheid geven om te draaien.
Een back-uptaak met nice 15 kan CPU-tijd aan interactief werk afstaan en toch een ongebruikte CPU volledig benutten.

O

OOM-killer
De OOM-killer is een kernelmechanisme dat een geselecteerd proces beëindigt wanneer door geheugenuitputting capaciteit moet worden vrijgemaakt.
Een OOM-registratie kan verklaren waarom een applicatie verdween zonder zelf een fout te melden.
opschonen van het logboek
Het opschonen van het logboek verwijdert oude gearchiveerde logboekbestanden om gekozen bewaarlimieten te handhaven en laat actieve logboekbestanden ongemoeid.
Het totale schijfgebruik kan boven een opschoongrens voor de grootte blijven omdat actieve bestanden meetellen in het gebruiksoverzicht.
opzoeken bij welk pakket een bestand hoort
Opzoeken bij welk pakket een bestand hoort vindt het geïnstalleerde pakket dat een genoemd pad heeft geleverd, met behulp van de pakketdatabase in plaats van een gok op basis van de commandonaam.
Gebruik rpm -qf voor een geïnstalleerd uitvoerbaar bestand waarvan je op een RPM-systeem de pakketnaam niet kent.

P

pakket
Een pakket bundelt softwarebestanden met installatiemetadata, waaronder versie, architectuur, afhankelijkheidsvereisten en registraties van bestanden die bij het pakket horen.
Een pakket kan een uitvoerbaar bestand, documentatie en configuratiebestanden in verschillende directory's plaatsen.
pakketbeheervergrendeling
Een pakketbeheervergrendeling coördineert toegang tot pakketregistraties zodat gelijktijdige installatie- of onderhoudsprocessen geen tegenstrijdige wijzigingen schrijven.
Een automatisch updateproces kan de vergrendeling vasthouden terwijl je wacht om een interactieve installatie te beginnen.
pakketmetadata
Pakketmetadata beschrijven de identiteit en vereisten van een pakket en helpen hulpmiddelen compatibele software te selecteren, te installeren en te bevragen.
De velden voor architectuur en afhankelijkheden helpen een repositorybeheerder de installatietransactie te plannen.
persistent logboek
Een persistent logboek bewaart registraties op schijf onder /var/log/journal, zodat eerdere opstartsessies kunnen worden opgevraagd totdat het bewaarbeleid ze verwijdert.
Voor onderzoek naar de kernel van een vorige opstartsessie zijn bewaarde registraties nodig, niet alleen de huidige actieve kernelbuffer.
PID
Een PID is de numerieke proces-ID die een actief proces identificeert; de kernel kan dat nummer na beëindiging van het proces opnieuw gebruiken.
Controleer voordat je een signaal naar PID 6051 stuurt of die nog steeds het bedoelde commando aanduidt.
poortconflict
Een poortconflict ontstaat wanneer een service het gevraagde luisteradres en de gevraagde poort niet kan gebruiken omdat een ander luisterend programma die al op onverenigbare wijze bezet.
Stel vast welk programma al luistert voordat je beslist of je het stopt of de configuratie van één service wijzigt.
PPID
Een PPID is de proces-ID van het bovenliggende proces. Die duidt het proces aan dat een ander proces heeft gestart en verbindt het daarmee met zijn procesfamilie.
De PPID naast een terminalcommando komt meestal overeen met de PID van de shell die het startte.
prioriteit
Een logboekprioriteit duidt de ernst van een melding aan, genummerd van 0 voor noodsituatie tot en met 7 voor foutopsporing, waarbij lagere nummers ernstiger zijn.
Een grens op err behoudt fouten en ernstigere vermeldingen, maar verbergt informatieve meldingen die nog steeds kunnen helpen.
proces
Een proces is één draaiende instantie van een programma. Het besturingssysteem beheert de eigen identiteit, het geheugen en de systeemmiddelen van dat proces.
Twee afzonderlijke sleep-commando's maken twee processen, ook al voeren ze hetzelfde programma uit.

R

repository
Een repository biedt pakketbestanden en indexen die beschikbare software, versies en vereisten voor een pakketbeheerder beschrijven.
Door repositoryinformatie te verversen kan apt geïnstalleerde versies met nieuwere beschikbare kandidaatversies vergelijken.
ringbuffer
Een ringbuffer is opslag met vaste grootte die bij het vullen de oudste vermeldingen door nieuwe vervangt, zoals bij kernelmeldingen.
De actieve kernelbuffer kan oude detectiemeldingen verliezen terwijl het persistente logboek nog kopieën bewaart.
RSS
RSS is de hoeveelheid geheugen van een proces die momenteel in fysiek RAM aanwezig is, door ps meestal in kibibytes weergegeven.
Een grote virtuele toewijzing met een kleine RSS hoeft niet te betekenen dat het proces zoveel RAM inneemt.

S

service
Een service is beheerd werk op de achtergrond dat een functie biedt, zoals een webserver of SSH-daemon, meestal zonder terminal.
Een service kan verzoeken blijven verwerken nadat de beheerder de terminal heeft gesloten waarmee die is gestart.
SIGKILL
SIGKILL is een niet-opvangbaar beëindigingssignaal dat een proces dwingt te eindigen zonder het normale opruimwerk van de applicatie uit te voeren.
Gebruik gedwongen beëindiging pas nadat je hebt vastgesteld dat het bedoelde actieve proces niet op TERM reageerde.
signaal
Een signaal is een melding die aan een proces wordt afgeleverd en om een actie vraagt, zoals afsluiten, pauzeren, voortzetten of applicatiespecifieke afhandeling.
Een signaal sturen is niet altijd een verzoek om te beëindigen: SIGCONT hervat gestopt werk.
SIGSTOP
SIGSTOP is een niet-opvangbaar signaal dat de uitvoering van een proces stopt terwijl de identiteit, het geheugen en andere systeemmiddelen intact blijven.
Een gestopt testproces blijft zichtbaar in ps en kan verdergaan wanneer het SIGCONT ontvangt.
SIGTERM
SIGTERM is het standaardbeëindigingssignaal van kill. Het vraagt om afsluiten, wat een programma met opruimcode kan afhandelen.
Een teksteditor kan op SIGTERM reageren door bestanden te sluiten voordat die afsluit, als de code die afhandeling ondersteunt.
stuurprogramma
Een stuurprogramma is software waarmee de kernel met een apparaat kan communiceren; detectie op een bus alleen toont geen werkend stuurprogramma aan.
Een PCI-adapter zonder regel voor een gebruikt stuurprogramma vereist meer onderzoek voordat die verkeer kan verwerken.
syslog
Syslog is een interface en berichtformaat voor systeemlogregistratie, vaak afgehandeld door een service zoals rsyslog die geconfigureerde tekstlogboeken schrijft.
Een installatie die het systemd-logboek gebruikt, kan syslogtekstbestanden missen terwijl de services nog steeds gebeurtenissen registreren.
systemd
systemd is een initialisatiesysteem en servicebeheerder die vaak als PID 1 draait en units in het hele systeem activeert en bewaakt.
Systemd kan een mislukte service volgens het unitbeleid herstarten en de uitvoer in het logboek registreren.
systemd-logboek
Het systemd-logboek bewaart geïndexeerde registraties van de kernel, het opstarten en programma's, met velden zoals tijd, unit en prioriteit.
Gebruik journalctl om logboekbestanden te lezen in plaats van hun binaire inhoud met een tekstbestandviewer te openen.

T

taaknummer
Een taaknummer is een identificatie binnen de shell om een taak te selecteren, los van de daarnaast getoonde proces-ID die voor het hele systeem geldt.
In [2] 7164 selecteert fg %2 de taak; 7164 identificeert het proces op het niveau van het besturingssysteem.
transactie
Een pakkettransactie is een geregistreerde installatie-, verwijder- of upgradebewerking met één of meer pakketten en hun wijzigingen.
Bekijk de details van een DNF-transactie om te zien welke bibliotheek kort voordat een service begon te falen is gewijzigd.

U

uitpakken
Uitpakken herstelt archiefitems naar het bestandssysteem en plaatst hun opgeslagen paden onder de gekozen bestemmingsdirectory.
Herstel bij het controleren van een onbekend archief in een lege directory zodat bestaande bestanden niet worden overschreven.
unit
Een unit is een object dat door systemd wordt beheerd en via een definitie een service, socket, doelunit, aankoppeling of ander systeemmiddel beschrijft.
Het achtervoegsel in nginx.service duidt de unit aan als een service en niet als een socket of doelunit.
unitbestand
Een unitbestand is een tekstdefinitie van een systemd-unit, ingedeeld in secties en instellingen voor uitvoering, afhankelijkheden en installatie.
Systemctl cat toont het basisunitbestand van de service en eventuele lokale aanvullende configuratiebestanden met hun paden.
upgrade
Een upgrade vervangt geïnstalleerde software door een geselecteerde nieuwere pakketversie, volgens de afhankelijkheidsregels van de pakketbeheerder.
Na installatie van een kernelupgrade blijft de oude kernel draaien totdat de machine met de nieuwe opstart.
UUID
Een UUID is een unieke identificatiecode voor onder meer bestandssystemen, die helpt ze te onderscheiden naast veranderlijke apparaatnamen.
Vergelijk het model, de capaciteit en de bestandssysteem-UUID van een schijf wanneer de sd-letter sinds gisteren is veranderd.

V

verversen van de pakketlijsten
Het verversen van de pakketlijsten downloadt actuele repositoryinformatie zodat de beheerder weet welke versies beschikbaar zijn zonder ze te installeren.
Na een apt update kan een nieuwere applicatie als beschikbaar worden getoond terwijl de oude geïnstalleerd blijft.
verwijderen inclusief configuratie
Verwijderen inclusief configuratie is een verwijderbewerking van APT die ook de beheerde systeemconfiguratie van een pakket verwijdert, terwijl gegevens in homedirectory's van gebruikers ongemoeid blijven.
Kies purge wanneer bewaarde systeeminstellingen ook weg moeten, nadat je hebt bepaald welke configuratie je wilt bewaren.
vluchtig logboek
Een vluchtig logboek bewaart registraties onder /run/log/journal, zodat ze bij afsluiten verloren gaan in plaats van naar de volgende opstartsessie mee te gaan.
Na een herstart kan een vluchtig logboek de geschiedenis van servicefouten uit de vorige opstartsessie niet leveren.
voorgrondtaak
Een voorgrondtaak is door de shell beheerd werk dat momenteel de terminal beheerst, terwijl de shell wacht tot het klaar is of stopt.
Na fg %2 werken sneltoetsen zoals Ctrl+C op de taak die nu op de voorgrond staat.

W

wisselruimte
Wisselruimte is opslag voor geheugenpagina's die uit het RAM zijn verplaatst. Die biedt extra capaciteit met tragere toegang dan fysiek geheugen.
Groeiend gebruik van wisselruimte samen met weinig beschikbaar RAM wijst erop dat de werklast aandacht nodig heeft.

X

xz
Xz is een compressieformaat en hulpmiddel dat vaak kleinere bestanden maakt dan gzip, maar meer compressietijd en geheugen vereist.
Bij een tekstarchief voor een download waarvoor grootte belangrijk is, kunnen de extra verwerkingskosten van xz gerechtvaardigd zijn.

Z

ZIP
ZIP is een archiefformaat dat bestanden verzamelen met compressie combineert en breed wordt ondersteund om bestanden tussen desktopbesturingssystemen te delen.
Gebruik zip -r om een directory en de inhoud ervan te verpakken voor collega's die Windows of macOS gebruiken.
zombieproces
Een zombieproces is een beëindigd proces waarvan het bovenliggende proces de afsluitstatus niet heeft opgehaald, waardoor een kleine vermelding met de markering Z in de procestabel achterblijft.
Herhaalde vermeldingen van zombieprocessen met hetzelfde bovenliggende proces wijzen erop dat dit proces de afsluitstatus van kindprocessen niet ophaalt.

Over deze les

Door StudeliFout melden

Maak je eigen Studiemateriaal

Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.

Aan de slag