Linux is een krachtig en betrouwbaar besturingssysteem, maar zelfs ervaren gebruikers ondervinden onverwachte problemen. Of het nu gaat om een verwijderd bestand, een vergeten rootwachtwoord of een trage systeem, weten hoe je efficiënt kunt oplossen is de sleutel tot het worden van een echte Linux-expert.
Deze gids presenteert realistische probleemoplossingsscenario’s voor Linux, samen met stapsgewijze oplossingen, die gebruikelijk zijn onder systeembeheerders, ontwikkelaars en dagelijkse Linux-gebruikers.
Situatie 1: Je hebt per ongeluk een belangrijk bestand verwijderd
Je hebt per ongeluk een belangrijk bestand verwijderd met de rm-opdracht, en nu moet je het terughalen. In tegenstelling tot Windows en macOS, heeft Linux geen ingebouwde “Prullenbak” voor bestanden die vanuit de terminal zijn verwijderd.
Je herstelopties zijn afhankelijk van het gebruikte bestandssysteem.
Voor EXT3/EXT4-bestandssystemen
Gebruik extundelete, een open-source hulpprogramma dat is ontworpen om verwijderde bestanden van ext3- en ext4-bestandssystemen in Linux te herstellen.
sudo apt install extundelete # Debian-based sudo yum install extundelete # RHEL-based
Voordat je probeert te herstellen, ontkoppel de partitie om verdere schrijfoperaties te voorkomen die de verwijderde gegevens kunnen overschrijven:
sudo umount /dev/sdX
Voer vervolgens de volgende opdracht uit om het verwijderde bestand te herstellen en zorg ervoor dat je /dev/sdX
vervangt door de werkelijke partitie waar het bestand is verwijderd.
sudo extundelete /dev/sdX --restore-all
Voor XFS, Btrfs of NTFS-bestandssystemen
Als uw systeem XFS, Btrfs of NTFS gebruikt, is de testdisk-tool een betere optie.
sudo apt install testdisk # Debian-based sudo yum install testdisk # RHEL-based
Voer testdisk uit en volg de interactieve aanwijzingen om verloren bestanden te herstellen.
sudo testdisk
Preventietips:
-
- Gebruik trash-cli: Gebruik in plaats van
rm
de opdrachttrash-cli
om bestanden naar een herstelbare prullenbak te sturen.
- Gebruik trash-cli: Gebruik in plaats van
sudo apt install trash-cli trash-put myfile.txt
- Maak regelmatig back-ups: Stel rsync of Timeshift in om belangrijke bestanden automatisch te back-uppen.
Scenario 2: Het herstellen van een vergeten rootwachtwoord
U bent uw rootwachtwoord vergeten en kunt geen administratieve taken uitvoeren, wat betekent dat u geen software kunt installeren, systeeminstellingen kunt wijzigen of toegang hebt tot kritieke bestanden.
U kunt het rootwachtwoord opnieuw instellen door op te starten in de herstelmodus of door de GRUB-bootloader aan te passen.
Gebruik van de herstelmodus (Ubuntu/Debian)
Eerst, herstart je systeem en houd Shift
ingedrukt tijdens het opstarten om toegang te krijgen tot het GRUB menu, selecteer dan “Geavanceerde opties” → “Herstelmodus” en kies “Ga naar root shell prompt“.
Hier, remount het root-bestandssysteem als beschrijfbaar en reset het root wachtwoord.
mount -o remount,rw / passwd root
Herstart het systeem.
reboot
Gebruik rd.break (RHEL/CentOS/Fedora)
Eerst, herstart je systeem, druk op e
in het GRUB menu en zoek de regel die begint met linux
en voeg rd.break
aan het einde toe.
Vervolgens, mount het root-bestandssysteem en reset het root wachtwoord.
mount -o remount,rw /sysroot chroot /sysroot passwd root
Ten slotte, verlaat en herstart.
exit reboot
Preventietips:
- Maak een wachtwoordloze sudo gebruiker om te voorkomen dat je buitengesloten wordt van root-toegang.
- Gebruik SSH-sleutels in plaats van wachtwoorden voor authenticatie.
Scenario 3: Je hebt een pakket geïnstalleerd, maar het werkt niet
Je hebt een pakket geïnstalleerd, maar het zegt “commando niet gevonden
” wanneer je het probeert uit te voeren, wat meestal gebeurt wanneer de binaire niet in de PATH van je systeem staat, het pakket niet correct is geïnstalleerd, of er een ontbrekende afhankelijkheid is.
De oplossing is, eerst moet je verifiëren of het pakket is geïnstalleerd of niet.
dpkg -l | grep package-name # Debian-based rpm -qa | grep package-name # RHEL-based
Als het ontbreekt, installeer het opnieuw:
sudo apt install package-name sudo yum install package-name
Controleer vervolgens of het commando in uw systeem PATH staat.
which package-name echo $PATH
Als de binaire in een niet-standaardlocatie staat, voeg deze dan toe aan PATH:
export PATH=$PATH:/usr/local/bin
Preventietips:
- Herstart de terminal of voer
hash -r
uit na het installeren van nieuwe pakketten. - Gebruik pakketbeheerders zoals Snap of Flatpak, die afhankelijkheden beter beheren.
Scenario 4: Uw systeem raakt bijna de schijfruimte kwijt
Uw systeem geeft een “Geen ruimte meer op apparaat” foutmelding weer, waardoor software-updates, logging en normale operaties worden verhinderd.
Hier is hoe u schijfruimte kunt terugwinnen en uw systeem soepel kunt laten draaien.
Stap 1: Controleer schijfgebruik
De oplossing is, eerst moet u controleren hoeveel ruimte op elke partitie van uw systeem wordt gebruikt met de df-opdracht.
df -h
Stap 2: Zoek en verwijder grote bestanden
Zoek vervolgens de grootste bestanden die ruimte innemen door het du-commando uit te voeren, waarmee je systeem wordt gescand en de top 10 grootste bestanden of mappen worden weergegeven. Verwijder onnodige bestanden met rm
of verplaats ze naar een externe schijf.
du -ah / | sort -rh | head -10
Stap 3: Verwijder Onnodige Logs
Logs zijn essentieel voor probleemoplossing en monitoring van systeemactiviteit, maar ze kunnen snel groeien en een aanzienlijke hoeveelheid schijfruimte in beslag nemen.
In de loop der tijd zijn oude logs mogelijk niet meer nodig, waardoor ze prime kandidaten zijn voor opruiming.
sudo journalctl --vacuum-time=2d # Deletes logs older than 2 days sudo apt autoclean # Removes outdated package files
Stap 4: Verwijder Oude Kernels (Ubuntu/Debian)
Wanneer je je systeem bijwerkt, vooral op Ubuntu of Debian-gebaseerde distributies, worden vaak nieuwe versies van de Linux-kernel geïnstalleerd.
De oude kernels worden echter niet automatisch verwijderd en na verloop van tijd kunnen deze oude kernels zich ophopen en een aanzienlijke hoeveelheid schijfruimte innemen.
Het verwijderen ervan is een veilige en effectieve manier om ruimte vrij te maken zonder de functionaliteit van je systeem te beïnvloeden.
sudo apt autoremove --purge
Preventietips:
- Logrotatie instellen: Gebruik logrotate om automatisch de grootte van logbestanden en retentieperioden te beheren.
- Schijfgebruik monitoren: Installeer tools zoals ncdu om schijfgebruik bij te houden en ruimteverspillers te identificeren.
- Regelmatig opruimen: Plan periodieke opruimacties in om tijdelijke bestanden, caches en ongebruikte pakketten te verwijderen.
Scenario 5: Uw server reageert plotseling niet meer
U beheert een Linux-server en plotseling reageert deze niet meer en wanneer u probeert verbinding te maken via SSH, loopt de verbinding vast of weigert deze tot stand te komen. U merkt misschien zelfs dat de server nog steeds is ingeschakeld, maar niet reageert op enige commando’s.
Deze situatie kan worden veroorzaakt door verschillende problemen, waaronder:
- Hoog CPU- of geheugengebruik als gevolg van onbeheersbare processen.
- Schijf-I/O-belemmeringen, waarbij het systeem overbelast is met lees-/schrijfoperaties.
- Kernelpanieks of systeemcrashes.
- Netwerkstoringen die externe toegang voorkomen.
Volg deze probleemoplossingsstappen om de controle te herstellen.
Stap 1: Toegang tot de Server Lokaal of via TTY
Als SSH niet werkt, probeer dan direct toegang te krijgen tot de server of via een TTY-sessie:
- Op een fysieke machine, gebruik de lokale console.
- Op een virtuele machine, gebruik de console van de hypervisor.
- Voor Linux-systemen, switch naar een andere TTY-sessie met
Ctrl + Alt + F2
(ofF3
,F4
, enz.).
Stap 2: Controleer de Systeembelasting
Eenmaal ingelogd, controleer de belasting en het gebruik van systeembronnen, die de gemiddelde belasting van het systeem over 1, 5 en 15 minuten tonen. Een belastingwaarde hoger dan het aantal CPU-cores duidt op hoge vraag.
uptime
Gebruik vervolgens top of htop om processen in realtime te monitoren:
top Or htop
Zoek naar processen die buitensporig veel CPU of geheugen verbruiken.
Stap 3: Identificeer en Stop Ongecontroleerde Processen
Om de meest bronnenintensieve processen te identificeren, voer uit:
ps aux --sort=-%cpu | head
Dit toont de top CPU-verbruikende processen, waar je een problematisch proces kunt vinden en het kunt beëindigen met:
kill -9 PID
Vervang PID
door het proces-ID van de problematische applicatie.
Stap 4: Controleer Systeemlogboeken
Als het systeem nog steeds responsief is, controleer dan de logboeken op fouten:
sudo tail -f /var/log/syslog Or sudo dmesg | tail
Deze commando’s tonen recente systeemberichten en kernellogs, die kunnen helpen bij het identificeren van hardware- of softwareproblemen.
Stap 5: Veilig opnieuw opstarten met behulp van SysRq
Als het systeem volledig bevroren is, gebruik dan de SysRq toetscombinatie om veilig opnieuw op te starten:
echo b > /proc/sysrq-trigger
Dit zorgt voor een veilige herstart, waarbij gegevensintegriteit wordt gewaarborgd door schijven te synchroniseren en bestandssystemen te ontkoppelen.
Conclusie
Probleemoplossen is een essentiële vaardigheid voor elke Linux-gebruiker. Of het nu gaat om het herstellen van verwijderde bestanden, het resetten van wachtwoorden of het oplossen van systeemfouten, het kennen van de juiste commando’s kan tijd en frustratie besparen.
Heb je je eigen probleemoplossingstips? Deel ze in de reacties! Laten we samen een behulpzame Linux-gemeenschap opbouwen.