This is an old revision of the document!
~~TOC~~
Leuke, lastige en interessante GNU/Linux vragen
Leuke, interessante en lastige vragen over GNU/Linux en aanverwante vakgebieden. Om superioriteit te bewijzen of om lastige vragen te stellen tijdens een intake. Het is verbazend hoe vaak mensen, die zeggen veel te weten, toch geen hapklaar antwoord hebben op deze vragen.
- Filesystem
- Inodes
- Bestand verwijderen
dr-xr-x--- 2 user1 user1 4096 jan 28 11:09 .
-rw-rw---- 1 user1 user1 0 jan 28 11:09 test1234
Vraag: Kan ik bestand test1234 verwijderen als gebruiker user1?
Antwoord: Nee, dat kan niet. Omdat de directory niet beschrijfbaar is voor die gebruiker.
- chmod / execute bit
Vraag: Je hebt het execute bit van chmod afgehaald. Hoe kan je chmod toch starten om zodoende weer rechten te kunnen zetten? Zonder gebruik te maken van cp, back-up restore, herinstallatie, etc.
Antwoord: Controleer of het een 32 of 64 bits binary is: file /bin/chmod
. 64bit voorbeeld: /lib64/ld-linux-x86-64.so.2 /bin/chmod
Antwoord2: Als je wel cp mag gebruiken kan je een andere executable kopiëren naar /tmp en dan chmod daaroverheen kopiëren zonder (-p).
- Sticky bit
Vraag: Wat doet het sticky bit op een recent GNU/Linux systeem?
Antwoord: Een sticky bit op een directory zorgt ervoor dat alleen de eigenaar van het bestand, de eigenaar van de directory of root het bestand kan hernoemen of verwijderen.
- Hardware
- CPUs
- Memory
Vraag: Wat is het verschil tussen swapping en paging?
Antwoord: Voor Linux besturingssystemen is dit hetzelfde. Sinds CPUs gebruik maken van virtual memory (gevirtualiseerde geheugenadressen) is het eigenlijk 'paging'. Bij Solaris en andere UNIX systemen is er wel een verschil. Namelijk bij swapping wordt het hele proces tussen disk en memory verplaatst, bij paging alleen de specifieke pages.
- Scripting / shell
- Bash
#!/bin/bash
grep MemTotal /proc/meminfo | read stat total size
echo $total
Vraag: Wat geeft dit script als output?
Antwoord: Niets, read draait in een subshell (door de pipe), waardes komen wel in de variable terecht, maar nadat read klaar is, is de subshell weg en zijn de variabelen leeg.
- History
Vraag: Hoe zorg je ervoor dat in bash bepaalde commando's niet in de history terecht komen?
Antwoord: Zet de variabele HISTCONTROL=ignorespace, start de commando's met een spatie.
- Timekeeping
- Aantal NTP servers
Vraag: Hoeveel NTP servers zou je minimaal moeten configureren?
Antwoord: Minimaal 1, maar voor redundantie zou je er meer moeten gebruiken. Twee is geen goed antwoord, want welke van de twee servers geeft de juiste tijd aan? Gebruikelijk is daarom om 4 servers te configureren.
- ntpq reach
Vraag: In de output van ntpq -p staat een reach-kolom met bij elke ntp-server de waarde 377. Wat betekend dit?
Antwoorden: Het is een octale waarde, binair is dat 11111111. Hieruit blijkt dat 8 afgelopen keren (poll) de synchronisatie gelukt is.
- Netwerk
- Manuals
Vraag: Hoe doorzoek je alle manpages?
Antwoord: man -k om te zoeken op titels, man -K (hoofdletter) om door alle tekst te zoeken. Dit kan lang duren…
- Processen
Vraag: Als het stoppen van een proces met [Ctrl]-[c] niet lukt. Welke toetscombinatie kan je nog meer probleren?
Antwoord: [Ctrl]-[\] dit veroorzaakt een QUIT signaal en genereert daarnaast vaak een coredump.
Vraag: Wat is een zombieproces en hoe haal je die weg?
Antwoord: Dat een proces wat klaar is (exit systemcall), niet meer werkt, maar nog wel in de proces table staat. Komt voor bij child processes, de parent moet de exit status kunnen lezen. Deze zombie zal daarna snel verwijderd worden. Als zombies lang blijven bestaan is dat meestal niet goed. Een zombie is al dood en kan niet gekilled worden. Mogelijke oplossing is het parent proces herstarten.