- Lært om oppstartsprosessen («boot») i Ubuntu.
- BIOS / UEFI
- Bootloader
- Linux-kjernen («kernel»)
- initramfs
- «root»-filsystemet monteres
- Første prosess (PID1), gjerne et «init»-system som systemd
- systemd
- BIOS / UEFI
- BIOS er eldre og mindre fleksibelt sammenlignet med UEFI.
- UEFI er moderne og mer fancy.
- UEFI lar oss spesifisere en utvalgt partisjon i egendefinert størrelse for «bootloader». BIOS bruker kun meget begrenset plass i første sektor av disken (MBR).
- Sjekk
sys/firmware/efi
om du bruker UEFI eller ikke.
- Bootloader
- Bruker gjerne GRUB.
- Laster kjernen inn i minnet.
- Initialiserer et minimum av hardvare som trengs for oppstart av systemet.
- Finner OS-er, og starter det som velges.
- Kjernen («kernel»)
- Kjernen til OS-et, og selve Linux.
- Trenger informasjon i startfasen, slik som drivere for å kunne kommunisere med hardvare. De er lagret i
initrd
ellerinitramfs
og lastes sammens med kjernen. - Kan sende parametre til kjernen under boot via GRUB-konfigurasjon.
- Logger
- Linux loggfører mye under oppstart som lagres i filer.
- Når kjernen booter kan den ikke skrive til fil, så den lagrer i noe som kalles «ring buffer» i minnet. Dette kan sees i
dmesg
,/varlog/dmesg
. - Kan også se
journalctl -k
for kjerne-logg, ogjournalctl -b
for boot-logg. Se også/var/log/boot
. - Etter initialisering vil
syslog daemon
logge beskjeder. Den opprettholdes ved omstartvar/log/messages
.
- Logger
- Init
- Starter tjenester og andre programmer som webserver, grafisk grensenitt, nettverk osv.
- Tenke på det som “jeg trenger tjeneste A og B. Deretter C og D. Men ikke start D før før A og B kjører”.
- Kan bruke init-systemet etter oppstart for å manipulere prosesser senere.
- Typer init-systemer: systemd, upstart og SysVinit.
- Init-prosessen har ID1. Se via
ps -p1
.
- systemd
- Manipulere systemet etter oppstart.
- Laget rundt konseptet «enheter».
- «Enhet» kan være tjeneste eller handling.
- Har navn, typebetegnelse og fil.
- 12 ulike typer:
automount device mount path scope service slice snapshot socket swap target timer
-
3. juli 2025
-
30. juni 2025
- Port knocking
- «Port knocking» er en måte for å eksternt åpne porter som er stengt bak en brannmur.
- Det fungerer som et hemmelig bankemønster på en dør. Er kombinasjonen av banking riktig, da vil døren åpnes.
- En ekstern klient må «banke» på gitte porter i en spesiell rekkefølge, for deretter å koble seg på f.eks. SSH innen et definert tidsrom.
- Fungerer som en liten ekstra sikkerhet, men er ikke bra nok som eneste sikkerhetsinnstans. Det er som at et nøkkelhull plasseres på et utradisjonelt sted på døra. Litt vanskeligere å nå, men fortsatt ganske synlig.
- Port knocking
-
26. juni 2025
- Brannmur:
- Ekstra sikkerhet når man åpner porter.
- Linux har innebygd brannmur som
netfilter
. - Vi kan konfigurere denne med program som
iptables
. - «Frontend» for
iptables
er program somufw
som gjør det enklere for oss å konfigurere brannmur.
iptables -l # se gjeldende regler. iptables -F # slett alle regler. ufw allow # gi tillatelse ufw deny # nekte tillatelse ufw enable # aktivere endringer ufw status verbose # se enkel status
- Brannmur:
-
25. juni 2025
- Unix-sockets
- en form for internprosess-kommunikasjon (IPS) som lar prosesser på samme maskin kommunisere med hverander.
- Opererer innenfor kjernen, så raskere og mer pålitelig enn nettverkst-sockets.
- Bruker lokale filbaner for kommunikasjon fremfor IP-adresser og porter.
- Støtter TCP og UDP
- Bruker server - klient modell.
- Fordeler: ytelse, sikkerhet (kan bruke filtillatelser) og fleksibilitet.
-ss
: socket status.ss -tlpn
: Se alle prosesser som lytter etter porter.
- nmap
nmap localhost
: Se åpne porter med mer.
- «loopback network device»
- Et virtuelt nettverk-grensesnitt som dirigerer trafikk tilbake til samme maskin.
- Vi kan se et virtuelt nettverk ved at det står
%lo
i IP-adressen:127.0.0.53%lo:53
. - Omtales også som «lokal DNS» («DNS resolver»). Et eksmepel er
systemd-resolved
. - Praktisk for å svare kjapt og enkelt på alle DNS-spørringer.
- Slik jeg forstår det går alle DNS-spørringer innom «loopback network device».
- Vår maskin -> lokal «DNS stub» -> internett, og tilbake.
- Unix-sockets
-
24. juni 2025
- udev: Katalogen
/dev
kalles også «user space dev» («udev»).- Dette er ikke et pseudo-filsystem, slik som «sysfs» eller «proc».
- Her abstraheres hardvare til filer som vi kan redigere. Det fungerer som en dynamisk enhetsbehandling som er ansvarlig for å opprette, slette og gi nytt navn på filer etter hvert som enheter legges til og fjernes.
- «udev» sikrer i hovedsak at enheter blir gjenkjent og kan brukes av systemet.
- Forskjellen på «udev» og «sysfs» er i hovedsak at «udev» fokuserer på enhetsbehandling og og opprettelse av noder, mens «sysfs» er for tilgang og manipulering av enhetsinformasjon.
- D-bus: Et meldingssystem som gjør at applikasjoner kan kommunisere seg i mellom og operere på vegne av hverandre. Tenk på skrivebordet på maskinen som kan varsle om batteri, nettverk, mottatt e-post med mer.
- Prosessene omtales også som interprosesskommunikasjon og fjernprosedyrer.
- proc: Et pseudo-filsystem som viser filer som representerer kjernens prosesser.
- Lastbare kjernemoduler: Henviser til drivere for hardvare som kreves for at OS-et kan kommunisere med enhetene.
- ligger under
/lib/modules
. - Linux kommer med de fleste drivere allerede i kjernen, men ikke alt.
- Inspiser med
lsmod
og håndteres medmodprobe
. - Kan bruke
-f
medrmmod
for å tvinge avslutning av en modul som er i drift.
- ligger under
- udev: Katalogen
-
23. juni 2025
bin64
: Brukes til å kode og dekode data ved hjelp av Base64-formatet. Det er en metode som representerer en binære data som en streng av ASCII-tegn. Binær tekst-til-kode.tr
: En kommando som konverterer, erstatter og / eller sletter fra standard inndata til utdata.awk
: Avansert tekst-prosessering. Brukes gjerne for analyse og rapportering av datasett.- «sysfs»: Står for «system filesystem» og er navnet på konseptet om at alt i Linux er en fil. Man hører også dette omtalt som «pseudo file system». Det er et filtre av tilsynelatende mange filer, men disse er virtuelle filer lagret i kjernen («kernel»), og ikke faktiske filer lagret på disk. Disse virtuelle filene representerer hardvare, undersystemer, drivere med mer. Det er som en bro mellom kjernen og brukergrensesnittet, og lar oss inspisere og modifisere informasjon i kjernen.
-
18. juni 2025
- For å åpne filer med spesielle navn som
-
må vi angi banen:cat ./-
. - Vi kan sette sammen flere argumenter i
find
. som-user [USERNAME] -group [GRUPPE] -size [STØRRELSE]
. - Skjule “error” fra en fil med
find
:2> /dev/null
.2
er “stderr”, altså “error-strømmen”, og den kan vi sende til “null” slik at det altså ikke returnerer noe. systemd
ogsystemctl
: kommandoer for å kontrollere “init-programmet”.Det vil si status på operativsystemet under og etter oppstart.
- For å åpne filer med spesielle navn som
-
17. juni 2025
- Når noe omtales som “service” så betyr det at tjenesten starter automatisk ved oppstart.
- Kan kjøre et program uten å låse terminalen ved å skrive
&
etter kommandoen. F.eks:obsidian &
. Kalles en “bash job”. - Apache2 er en web-server som kan være vert (“host”) for nettsider lokalt, og fungere som webhotell på nettet.
-
21. november 2024
rfkill
: RF står for “radio frequency”, og “rfkill” har et konsept om “hard-” og “soft block”. Wifi sluttet å virke, så jeg måtte skriverfkill
for oversikt. Wlan sto som “soft blocked”. For å aktivere måtte jeg skriverfkill unblock wifi
.
-
16. september 2024
- For å ta omstart fra kommando-linjen:
sudo restart now
ellersudo shutdown -r now
- Man kan justere fontstørrelsen på kommando-linjen med
setfont
.
- For å ta omstart fra kommando-linjen:
-
14. september 2024
- Navigere kommandolinjen i Linux:
- Til starten og enden av linjen: CTRL + A / E.
- Navigere ett ord frem og tilbake: ALT + F / B.
- Slette fra markør bakover og fremover: CTRL + K / U
- Semikolon for å slå sammen kommandoer. For å stoppe hvis en kommando i rekken feiler, bruk heller
&&
. - Gå inn i
.bashrc
for å lage aliaser for kommandoer. For eksempel:alias gpom = git push origin main
. - Skriv
history
for å se tidligere kommandoer og tilhørende nummer. Skriv!NUMMER
for å kjøre kommandoen på nytt, eller CTRL + R for søk. - CTRL + L for å fjerne alt i vinduet, men beholde muligheten for å scrolle oppover, i motsetning til
clear
. - SHIFT + pil opp / ned flytter markør en linje opp og ned.
- SHIFT + PgUp / PgDn flytter en side opp og ned.
- SHIFT + End tar oss tilbake til markøren for å skrive ny kommando.
- Navigere kommandolinjen i Linux:
-
13. september 2024
- For å se alle installerte «packages»:
dnf list installed
.
- For å se alle installerte «packages»:
-
9. september 2024
- For å kjøre en prosess og se dens ID kan vi legge til
&
. For eksempelhugo server &
. Tegnet indikerer at prosessen skal kjøre i bakgrunnen, i et «subshell». Prosessen må dermed gjerne termineres med «kill PROSESS-ID». - For å se informasjon om en prosess kan vi skrive
ps -fp PROSESS-ID
.-f
viser ekstra informasjon, mens-p
lar oss filtrere på ID.
- For å kjøre en prosess og se dens ID kan vi legge til
-
7. september 2024
- For å slette flere mapper med lignende navn:
rm -rf ./MAPPENAVN*/
-
4. september 2024
- Ønsker man å fjerne alt i en mappe bortsett fra én fil kan man i terminalen skrive:
rm -v -rf !("FIL_SOM_IKKE_SKAL_SLETTES")
- Ønsker man å beholde flere filer kan man angi deres filnavn i parantesen med «pipe» mellom:
rm -v -rf !("FIL1"|"FIL2")
-v
står for «verbose» og indikerer at vi ønsker å se hva som skjer når kommandoen kjøres.-rf
står for henholdsvis «recursive» og «force» som betyr at den skal slette alle undermapper og at vi ikke skal bekrefte hver fil som skal slettes.- Vær forsiktig med
rm
kommandoen!
-
22. august 2024
- For å sjekke egen IP-adresse kan man i terminalen skrive
ip a
eller ìfconfig`. Se etter «inet»-verdien.
- For å sjekke egen IP-adresse kan man i terminalen skrive
-
20. august 2024
- For å se hvilken versjon av BASH man kan man skrive
echo "$SHELL"
i terminalen. - BASH-filen ligger som regel i «home»-banen.
- For å se hvilken versjon av BASH man kan man skrive
-
19. august 2024
- Dig (domain information groper) er en Linux-kommando som viser DNS (domain name system) informasjon. Det er et verktøy som sender spørringer til DNS-servere.
dig [URL] +noall +answer
viser bare svar-delen av spørringen.-t [TYPE]
viser DNS-typen som A, AAA, MX og så videre.
-
7. juni 2024
whereis
er en kommando for å lokalisere en «package», for eksempel HUGO:whereis hugo
-
22. mai 2024
- Lærte om «symlinks» eller «snarveier» i Linux.
- Opprette en symlink:
ln -s [bane til fil / mappe] [snarvei]
Eks:ln -s test/testfil.txt link.txt
.link.txt
peker tiltestfil.txt
. - Slette symlink:
unlink [bane til symlink]
- Se etter symlink:
ls -l [bane til symlink]
- Opprette en symlink:
- Lærte om «symlinks» eller «snarveier» i Linux.
-
30. april 2024
- Bruk
ls -l
(«long») for mer informasjon om filene i en mappe. ls -l --block-size=MB
viser størrelsen på filer i megabit.
- Bruk
-
27. april 2024
- Man kan bruke variabler/funksjoner i terminalen sammen med andre funksjoner. Når jeg skal opprette filer med dato som filnavn kan jeg skrive følgende i terminalen: `hugo new blogg/$(date).md.
-
21. april 2024
| less
: “Pipe less” er en funksjon som stopper terminal fra å scrolle, og man kan selv styre visningen med piltastene. Et alternativ til| more
hvor man flytter seg en side av gangen ved å trykke mellomrom-tasten.
-
20. april 2024
- For å navigere opp og ned i terminal bruker man Shift + PgUp eller PgDown.
- Hvis vi “piper” på “more” etter en kommando i terminalen vil terminalen pause ved scroll, og man fortsetter med mellomrom-tasten.
curl URL | more