1: Linux-boken

rediger
  • Linux eksamen
  • Forslag til Linux maskiner
  • Å bruke Linux
  • Prøv og lær
  • Bokens forklaringer
  • Linux og GNU
  • Siste versjon av Linux-kjernen
  • Forskjellige Linux-distribusjoner
  • Oppgaver til kapittel 1

Linux eksamen

rediger

Innledende sertifisering som "Linux Essentials Exam" er helt ok for vanlige brukere. Det er tilpasset sluttbrukere som skal installere Ubuntu eller Fedora. De mer avanserte sertifiseringene er innrettet på visse deler av Linux, og veldig systemnære funksjoner på Linux med tilhørende tjenester. De mer avanserte sertifiseringene dokumenterer administrator-kompetanse overfor arbeidsgiver. Så dette kan være helt på sin plass. Se også informasjon om studiemateriell og sertifisering hos Linux Professional Institute og Wikipedia.

Boken ligger på nivå "Linux Essentials Exam" og nivå "LPIC-1" i Boken om Linux. Visse deler berører også nivåene "LPIC-2" og "LPIC-3".

Forslag til Linux maskiner

rediger

De færreste laptop-produsenter velger å tilby linux til privat bruk per dags dato er det som leveres uten Windows.

Multicom: http://www.multicom.no/gaming-laptop/cat-c/c1000042

http://www8.hp.com/us/en/campaigns/ubuntu/index.html

http://www.dell.com/learn/no/no/nobsdt1/campaigns/dell-linux-ubuntu-en

Du kan også kjøpe stasjonære maskiner fra komplett\multicom på den måten slippe Windows-lisens. Enten ferdigbygd eller bygge selv.

Å bruke Linux

rediger

Denne boken er primært skrevet for de som ønsker å lære å bruke operativsystemet Linux til privat bruk. Boken kan også være nyttig for beslutningstakere (rådgivere, IT-sjefer, IT-direktører) i bedrifter som vurderer å bruke Linux i sin bedrift.

Boken forutsetter at du tidligere har brukt PCer eller arbeidsstasjoner, og at du har noe kjennskap til minst ett operativsystem, som MS-DOS, OS/2, SCO UnixWare, Solaris, HP-UX, Windows 10 eller eldre etc.

Linux er ikke et operativsystem, men kjernen i et operativsystem. Det er stor forskjell på en Linux-kjerne og en Linux-distribusjon. I resten av boken hvor jeg skriver "Linux" eller "Linux-operativsystemet" snakker jeg om en Linux-distribusjon. Med de fleste Linux-distribusjonene får vi nesten med alle Linux-kommandoene som er omtalt i denne boken.

Linux er så stort at jeg i en lærebok ikke kan gjennomgå alt. Jeg har konsentrert meg om det du får bruk for til daglig.

Selv om Linux er et stort og omfattende operativsystem, er det lett å bruke. Men som med de fleste ting, kan det virke vanskelig før du har lært det. Heldigvis er det ikke mye du trenger å lære før du kan begynne å bruke Linux. Allerede etter de seks første kapitlene vil du ha en god forståelse.

Prøv og lær

rediger

For å få en god forståelse av hva Linux er og hvordan du bruker det, må du prøve eksemplene selv ved å trykke på tastene og se hva som skjer. Jeg forklarer deg hva du skal gjøre, og viser noen eksempler. For å huske og kunne bruke Linux-systemet må du øve. Tast deg gjennom eksemplene på hvordan kommandoene utføres.

De fleste kapitlene kan leses uavhengig av hverandre når du har basiskunnskapen på plass. Når du har vært gjennom de innledende kapitlene, kan du lese hvor du vil i boken. Hvis du for eksempel ønsker å vite hvordan du bruker tekstredigeringsprogrammet (teksteditoren) vi, kan du lese kapitlet om vi-editoren, uten at du har lest alle de foregående kapitlene. Oppgavene på slutten av hvert kapittel gir deg flere muligheter til å øve.

Nybegynnere kan se på https://linuxjourney.com/ på engelsk som er en fint side for nybegynnere.

Bokens forklaringer

rediger
 
Utdata etter kommandoen date

De fleste kapitlene har en innledning som forteller hva kapitlet handler om. Det gjør det lettere å finne fram til det du søker.

Boken forklarer hvordan de forskjellige kommandoene skal utføres. Hvis du for eksempel ønsker å vite dato og klokkeslett, forklarer jeg hvordan du gjør dette på følgende måte:

  1. Skriv date.
  2. Trykk Enter.

Linux viser nå den aktuelle datoen på skjermen, for eksempel:

[david@nittedal david]$ date

Fre Nov 29 20:23:28 CET 2005

Man kan legge til «date -u» for tidzone. For å sette opp tidsone: (ubuntu\debian) Skriv: sudo dpkg-reconfigure tzdata

Det du skal skrive, eller de tastene du skal trykke, er alltid markert med uthevet skrift. Beskjeder fra Linux markeres med kursiv, som vist ovenfor.

De fleste kommandoene til Linux gis ved å trykke på Enter-tasten. Lenger ut i boken vil jeg ikke skrive Enter i kommando-forklaringene. Det er underforstått at du må trykke på Enter-tasten for å få kommandoen utført. Hvis jeg bruker Linux' grafiske grensesnitt, vil du få muligheten til å bruke musa.

Andre kommandoer kan ha tilknytning til kommandoen jeg forklarer. Da refereres det til disse, for eksempel slik: Se også 'chmod' og 'find'.

Linux og GNU

rediger
 
Figur 1.1: Linux har arvet egenskaper fra forskjellige Unix-systemer. Den siste boksen, Linux 2000, viser hvor jeg tror Linux er om noen år.

Linux bygger på operativsystemet Unix. Den første starten til en gratis versjon av dette operativsystemet kom da en gruppe datafolk fra Massachusets Institute of Technology i 1984 startet the Free Software Foundation og utviklet GNU GPL (General Public Licence), som betyr at man gratis kan distribuere, endre, eller til og med selge produktet. GNU-prosjektet utviklet de fleste hjelpeprogrammene til et gratis Unix-system, men manglet den viktigste delen - kjernen.

Kjernen til Linux-operativsystemet er opprinnelig utviklet av Linus Torvalds fra Finland. Prosjektet startet 1991, da Linux kom ut i versjon 0.02 og først i 1994 var versjon 1.0 av Linux-kjernen ferdig. Operativsystemet burde kanskje vært kalt GNU/Linux, men Linux er blitt det navnet som er i vanlig bruk. Senere har flere frivillige på nettet vært med på å videreutvikle operativsystemet.

GNU prosjektet har også sendere prøvd å utvikle sin egen kjerne GNU Hurd. Denne kjernen har aldri blitt noen suksess.

År Versjon Kommentar
1991 0.01 Første utgave ikke anvendelig for noe praktisk formål. Linus som bruker og 10 kB kodelinjer
1991 0.02 Andre utgave kjører bash/gcc/make/sed/compress. Bare anvendelig for hackere. 20 kB kodelinjer og 100-150 hackere som brukere.
1992 0.96 Et funksjonelt operativsystem for Intel 80386. 40 kB kodelinjer og 1000 brukere. Støtter X Windows.
1993 0.99 Arbeidsfordeling på 5 primærgrupper. Over 100 programmerere bidrar nå. 100 kB kodelinjer og 20.000 aktive brukere. Dette året startet konvertering (fra Intel 80386 kode) til Digital Alpha-prosessoren.
1994 1.0 Nettverkskommunikasjon med TCP/IP er på plass. 170 kB kodelinjer og 100.000 aktive brukere.
1995 1.2 Linux er nå portert til både Alpha- og SPARC-arkitektur. 250 kB kodelinjer og 500.000 brukere.
1996 2.0 Støtte for mange forskjellige prosessortyper. Dette året startet arbeidet med å tilpasse Linux til symmetrisk fler­prosessering (SMP) på Intel. 400 kB kodelinjer og 1,5 millioner brukere.
1997 2.0.18 Publikasjoner (blader og bøker) om Linux eksploderer. 800 kB kodelinjer og 3,5 millioner brukere
1998 2.1 Antall programmerere som deltar i utviklingen av Linux er nå 100.000. SMP er endelig på plass. 1,5 MB kodelinjer og 7,5 millioner brukere.
1999 2.2 Komplett støtte for SPARC, UltraSPARC, Alpha, M68k og PowerPC. Støtter forskjellige varianter av x86-arkitekturen. Støtte for threads, video-grabbing, IPv6, NFSv3, Unix98-ptyer, NTFS, HPFS, UFS, QNX og Mac HFS. 1,6 MB kodelinjer og 12 millioner brukere.
2001 2.4 Støtte for 8 prosessorer, USB, og I2O-bussen. Bedre ressurshåndtering (minne og filsystemer), Java og multimediastøtte. 2,0 MB kodelinjer og 25 millioner brukere.
2004 2.6 Se tabellen under for mer informasjon.
2007 2.8 Nytt innebygd journalførende filsystem. Støtte for klynger (cluster-løsninger). Tidligere Linux-versjoner har bare via Beowulf-prosjektet støttet klynger. Støtte for hot-swap av PCI-kort. Dette vil gjøre det mulig å bytte PC-kort på arbeidsstasjoner og servere uten å måte skru av maskinen eller at operativsystemet må startes på nytt. Bedre bruk av strømstyring (CPU, disk).
2015 4.2 http://kernelnewbies.org/Linux_4.2
2016 4.4 http://kernelnewbies.org/Linux_4.4
2016 4.4.5 https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.5
2016 Mars 4.4.6 https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.6
2021-06-18 5.12.12 https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.12.12
2021-06-13 5.13-rc6

Linux støtter i dag de mest populære prosessorarkitekturene (Intel, ARM og AMD prosesssor), som eldre Intel I386, Sun SPARC, Digital Alpha, PowerPC, MC680XX og StrongARM. Linux er et fleroppgave- (multitasking) og flerbrukeroperativsystem med mange "Unix-egenskaper".

Siste versjon av Linux-kjernen

rediger
Senne seksjonen krever mer vedlikehold enn wikibøker klarer å håndtere med dagens aktivitet. Informasjonen bør verifiseres fra andre kilder, for eksempel: The Linux Kernel Archives

I 2021 kom versjon 5.12.12 av Linux-kjernen. Denne nye kjernen har mange forbedringer Qualcomm Adreno 508, 509, and 512, samt Tiger Lake støtte og bedre støtte for Radeon RX 6800/6900 overklokking samt USB4 Sony, PlayStation 5 DualSense controller driver og Nintendo 64 støtte.

I dag er dette standard i 5.12 kjernen. NUMA gjør det mulige å bruke flere prosessorer og man utnytte minne på en bedre måte. Antall prosessor som Linux nå kan støtte er 255. Med Intels støtte for PAE (Physical Address Extension) har du muligheten til å ha opptil 512 GB RAM. (Sokkel-2066 dual cpu Xeon QPI). Den nye Linux-kjernen har dynamisk håndtering på antall åpne filer. I tabellene under finner du flere nøkkeltall.

Funksjonalitet Begrensninger Funksjonalitet Begrensninger
Intern minne 64 GB Antall prosessorer 255 Antall brukere (UID/GUI)
4 milliarder Antall åpne filer Dynamisk Antall prosesser
1 milliard Filsystem-størrelse 16 TB
Standardisering Definering av subarkitektur med felles elementer på tvers av maskinarkitektur. Hyper-threadning Støtte for flere virtuelle prosesser i en fysisk prosessor
SkaleringBedre nedskaleringsstøtte. Støtte for mange nye prosessorarkitekturer. Multi-threadning Omskrevet og støtter nå Native POSIX Thread Library (NTPL) Styre-programmer
Bedre støtte for PCI, PC Card, ISA PnP). Oppdatert UDM (Unified Device Modell). Forbedret håndtering av moduler Maskinvare-støtte Støtte for PnP BIOS\UEFI, USB 3.1, Irda og Bluetooth. ALSA (Advanced Linux Sound Architecture) overtar for OSS (Open Sound Systen). Oppgradering av V4L (Video for Linux). Bedre laptop støtte.


Funksjonalitet Begrensninger Funksjonalitet Begrensninger
FilsystemerMulig å bruke metadata i filsystemene. POSIX tilgangskontroll. Støtte for EVMS (Enterprise Volume Management System), XFS (Journal basert filsystem fra SGI) og JFS (Journal basert filsystem fra IBM). TCP/IP Støtte for IPsec (dvs. kryptering over IPv4 og Ipv6). Oppdatert støtte for Ipv4 og Ipv6. NFS
Støtter versjon 4 med bedre kryptering og autentisering. SMB Støtte for montering av CIFS (Common Internet Filesystems) filsystemer. Nettverks-filsystener
Støtte for AFS (bare les) og InterMezzo. Sikkerhet Linux Security Module (LSM). Bruker mekanismen "capabilities" for filtrering av brukertilgang. Binære moduler begrenser hva styreprogrammer kan gjøre. Virtuelt OS
Støtte for kjøre flere virtuelle OSer på en maskin Vedlikehold Enklere vedlikehold alt definert i .config-filen
 
Utdata etter kommandoen uname -r
 
Figur 1.2: Linus Torvalds, hjernen bak Linux-kjernen.
 
Richard Matthew Stallman, grunnleggeren av GNU-prosjektet og Free Software Foundation

Hvordan installere nyere kernel i fedora? https://fedoraproject.org/wiki/Kernel_Vanilla_Repositories

Laster ned og installerer nyeste repo:

[root@nittedal david]$ curl -s https://repos.fedorapeople.org/repos/thl/kernel-vanilla.repo | sudo tee /etc/yum.repos.d/kernel-vanilla.repo

Aktiver nyeste repo kernel vanilla:

[root@nittedal david]$ sudo dnf --enablerepo=kernel-vanilla-mainline update

Etter installasjonen må du restarte maskinen også:

[root@nittedal david]$ uname -r

Da burde du få: 5.13.0-0.rc1.git0.1.vanilla.knurd.1.fc34.x86_64.

Hvis du har problemet med den nyeste\ eller vil deaktivere denne:

[root@nittedal david]$ sudo dnf --enablerepo=kernel-vanilla-stable update

Kenneth Lane "Ken" Thompson født 4 februar, 1943 har også vært med å utvikle linux fra bell labs nå google var utvikler til operativsystemet Unix.

Richard Matthew Stallman (født 16. mars 1953) er en amerikansk programvareutvikler og fri programvare-forkjemper. Han er mest kjent som grunnleggeren av GNU-prosjektet og Free Software Foundation, som mannen bak programvarelisenser som GNU General Public License og som opphavsmannen til teksteditoren Emacs.

Forskjellige Linux-distribusjoner

rediger
 
Figur 1.3: Slik ser skrivebordet ut i opensuse. Dette bildet viser det grafiske grensesnittet KDE under Opensuse leap Linux. Det fins også flere andre tilsvarende grensesnitt. Har lagt til Tema\sidebar gadget, skrivebordikoner etc for det skal bli nærmest windows 10

Du finner i dag flere forskjellige distribusjoner av Linux. Linux-distribusjonene varierer i installasjonsrutiner utvalg av drivere og tilleggsprogrammer.

I denne boken handler om Fedora\Opensuse\Skolelinux

Fedora Gnome Workstation Live DVD (https://getfedora.org/nb/workstation/) Fedora Gnome Server Live DVD (https://getfedora.org/nb/server/)

Det finnes som Ubuntu\Kubuntu\Xubuntu

Også flere versjoner av fedora:

Nevner blant annet: Fedora XFCE: (https://spins.fedoraproject.org/nb/xfce/) Fedora KDE: (https://spins.fedoraproject.org/nb/kde/) Fedora LXDE: (https://spins.fedoraproject.org/nb/lxde/)

De mest populære distribusjonene av Linux i dag er:

Koster penger:

Red Hat Enterprise Linux (https://www.redhat.com)
SuSE Enterprice (https://www.suse.com)

Gratis (frie) for nybegynnere:

Vanskligere:

Ønsker du en komplett liste bør du gå inn på www.distrowatch.com eller https://livecdlist.com/. I dag er Ubunto,Fedora, Mint og Opensuse de Linux-distribusjonene som har lavest brukerterskel. I disse distribusjonene følger det bare med de programmene som en vanlig bruker har brukt for. I tillegg er brukergrensesnittet grafisk for alle programmer. Oppdatering av programvare er bare pek og klikk. I den andre ytterkanten finner du distribusjoner som Slackware og Gentoo som krever at man har kjennskap til de kommandolinjeprogrammene under Linux. Gentoo distribusjonen er et fint utgangspunkt hvis du for eksempel ønsker å lage din egen Linux-distribusjon som er optimalisert for en multimedia TV-boks.

For å konkretisere kommandoer og eksempler har vi konsentrert oss mest rundt Fedora (https://getfedora.org/) som er arvtakeren til gratisvarianten av Red Hat Linux. Fedora Linux og SuSE Linux har i dag over 60 % av Linux-markedet. I boken er de fleste GUI eksemplene basert på Fedora men du finner også mange eksempler fra Opensuse og Skolelinux (Debian). Du kan selv laste ned Linux-distribusjonene Fedora, SuSE, Skolelinux eller Debian fra nettet. Vi ser at Fedora Linux tar stadige markedsandeler fra Red Hat noe som har sammenheng med at du kan gratis laste ned Fedora Linux fra Internett. Har du installert Fedora Linux har du også muligheten til få gratis oppdateringer via Internett. Laster du ned Fedora, SuSE eller Debian distribusjonen fra nettet vil du få med mange forskjellige typer utviklingsverktøy, for eksempel C, C++, Fortran og Perl. Du vil også finne forskjellige servertjenester (Apache, Squid, NFS, MySQL), kontorverktøy (tekstbehandling, regneark, presentasjon og prosjektstyringsverktøy) og spill. Andre nyttige programmer som følger med er KDE, GNOME, GNU Emacs, Evolution, GIMP, Ekiga, MrProject, Mozilla Firefox, Perl, XFree86, BIND konfigurasjonsverktøy (enkelt verktøy for oppsett av DNS), CUPS-utskriftstjener, Sendmail og Postfix MTA. Både Fedora og Opensuse Linux har også støtte for USB 3.0-standarden og utvidet støtte for digitale mediaspillere og kamera.

Fedora Linux støtter Intel X86 og intel X86-64 bits maskinarkitekturen. Støtter også ARM: https://fedoraproject.org/wiki/Architectures/ARM

Ønsker du støtte for flere maskinarkitekturer bør du se på alternativene Red Hat, SuSE eller Debian. SuSE og Red Hat støtter IA64 (Itanium), PowerPC (IBM modellene eSeries, iSeries, pSeries) og IBM stormaskin S/390 (IBM modellene zSeries). Debian støtter hele 11 forskjellige arkitekturer. I kapittel 25 går vi igjennom Skolelinux som er 100% Debian-basert.

Oppgaver til kapittel 1

rediger

Oppgave 1.1 Hva er Linux?

Oppgave 1.2 Hvilke forskjeller er det mellom Linux-distribusjonene?

Oppgave 1.3 Hvem står bak GNU?

Oppgave 1.4 Hva betyr GPL?

Oppgave 1.4 Hvilket år startet Linus Torvalds sitt Linux-prosjekt?

Oppgave 1.4 Hva er forskjellen mellom 2.4 og 4.6 kjernen?

Oppgave 1.5 Hva er de generelle forskjellene mellom Linux-distribusjonene?

Oppgave 1.6 Hva er nytt i siste versjon av Opensuse Linux og Fedora Linux (sjekk på nettet)?