Linux historia
Det finns egentligen bara två stora operativsystem i världen: Microsoft Windows och Unix.
Precis som det finns flera olika Windows-versioner (Windows 10 Home, Windows 10 Pro, Windows 7, Windows server o.s.v.) så finns det olika Unix-versioner.
I början av 1970-talet skapade Dennis Ritchie och Ken Thompson operativsystemet Unix.
Snart började flera företag utveckla och sälja egna Unix-versioner, t.ex. IBMs AIX, SUNs Solaris, HPs HP-UX.
I mitten av 1980-talet tröttnade Richard Stallman på att UNIX kostade pengar och bestämde sig för att göra en gratisversion.
Projektet kallades GNU och bygger på principen FOSS.
Till slut var Richard Stallman nästan färdig och det enda som saknades var OS:ets kärna (kernel).
I början på 1990-talet skrev finlandssvensken Linus Torvalds en Unix-kärna för att lära sig hur operativsystem fungerade. Kärnan döptes till Linux.
Lägger man ihop de två får man GNU/Linux, vilket är det korrekta namnet.
Observera att än idag är GNU och Linux två skilda projekt som utvecklas oberoende av varandra.
Det finns andra gratisversioner av Unix, t.ex. BSD.
I övrigt är t.ex. Android en Linux-version och macOS en Unix-version.
Filosofin bakom Unix/Linux
“The Unix Way”/“The Linux Way”- Ett program ska bara göra EN sak, men göra det väldigt bra.
- För att göra komplicerade saker länkar man ihop flera program.
- Om möjligt ska info sparas i rena textfiler som kan läsas av människor.
- Det finns aldrig bara “ett sätt” att göra saker.
- Kommandoprompt är att föredra framför grafiskt gränssnitt om man vill göra saker med själva OS:et.
- Allt är filer. För OS:et är ditt tangentbord en fil, din mus en fil, din skärm en fil.
Vad skiljer Linux från Windows?
- Linux är gratis. Det finns saker som kostar pengar, men det finns alltid gratis alternativ.
- Linux är öppet. Det finns saker där man inte får se källkoden, men det finns alltid alternativ med öppen källkod.
- Linux är stabilt. Det finns saker som är helt nya och innehåller buggar, men det finns alltid alternativ som är testade i flera år innan de släpps.
- Linux är säkert. Det finns osäkra saker som att köra Windows i Linux och/eller vara inloggad som root, men om man inte gör dumheter behöver man inget antivirus för virus kan normalt inte komma in i ett Linux-system.
- Linux är enkelt. Kommer man över den första inlärningströskeln är Linux betydligt enklare än Windows.
- Linux har inga hårdvarukrav. Det finns vissa saker, som grafikhantering, som kräver en hel del, men det finns alltid alternativ som klarar sig utmärkt med hårdvara anpassad för Windows XP.
- Linux är flexibelt. Det finns massor med olika lösningar av allting i Linux så man kan i praktiken bygga sitt eget OS med de delar man tycker om.
- Linux har bättre support. Eftersom GNU/Linux byggs av communities så är det lätt att få gratis hjälp.
- Linux är “genomskinligt”. Eftersom det är så enkelt är det ofta lätt att hitta var felet är.
- Linux är billigt att drifta. P.g.a. ovanstående kostar en Linux-server betydligt mindre än en Windows-server. Inte bara i inköp, utan även i drift.
- Linux har bättre hårvarusupport. Det finns vissa hårdvarutillverkare, t.ex. Broadcom och NVIDIA, som är extremt dåliga på att göra Linux-drivers, men totalt finns det betydligt fler Linux-drivers än Windows-drivers.
- Linux värnar om ens integritet. Det finns Linux-distros som använder telemetri och samlar personlig data om användarna, men majoriteten av alla Linux-distros ägnar sig inte åt sådana dumheter.
- Linux tvingar inte ut uppdateringar. Det finns Linux-distros som gör det, men majoriteten av alla Linux-distros ägnar sig inte åt sådana dumheter.
Finns det nackdelar med Linux?
- Windows-användare måste komma över inlärningströskeln. Det är flera saker som fungera annorlunda i Linux som känns helt bakvänt för windowsanvändare.
- Man kan få hårdvaruproblem. Det är inte roligt för en nybörjare att försöka installera drivrutiner manuellt i ett operativsystem man inte kan. Första gången ska man alltid försöka installera Linux på en dator där all hårdvara stöds från början.
- Man kan bli överväldigad av all valfrihet i Linux. Försök inte hitta den perfekta Linux-distron. Försök istället hitta den nybörjarvänligaste distron tills man lärt sig Linux.
- Alla windows-saker finns inte i Linux, t.ex. många spel, MS Office, Adobe Suite. Å andra sidan finns det massor med Linux-saker som inte finns i windows (men de känner man inte till som windowsanvändare).
Linux olika delar
Linux består av olika delar som man bygger ihop, ungefär som LEGO, till ett OS.
Även Windows har flera delar: Man kan t.ex. välja om man ska använda Firefox eller Chrome som webbläsare; Microsoft Office eller Libre Office som ordbehandlare/kalkylprogram, o.s.v.
Men Firefox och Libre Office är program som ligger ovanför själva OS:et. I Linux är det själva OS:et som består av olika delar som man kan byta ut.
Även Windows finns i flera versioner: Win10 Home/Pro, WinServer o.s.v. Men idag är det ingen skillnad mellan de olika Windows-versionerna; Windows Server använder samma kod som Windows 10 Home – de olika Windows-versionerna skiljer sig bara på vilka delar av Windows man som användare kan använda.
Bootloader
Det första som händer när man startar en dator är att BIOS eller UEFI läser Boot-sektorn på hårddisken där MBR eller GPT finns. Sedan kan MBR läsa nästa del på hårdisken, o.s.v. tills datorn startats.
Har man flera partitioner kan man i BIOS:et välja vilken partition man ska boota från. Man kan alltså ha olika OS på olika partitioner och i BIOS:et väljer man vilket OS man ska använda.
Bootloader är ett program som lägger sig i Bootsektorn och låter en välja vilken disk/partition man ska boota ifrån (så man slipper ändra i BIOS om man vill byta OS).
Till Linux är GRUB vanligast just nu, men det finns även andra som t.ex. LILO.
Kärnan (kernel)
Inom data talar man om high level & low level access. Det är frågan om hur “nära” man är hårdvaran. Linux-kärnan är den del som kommunicerar med hårdvaran.
Här finns olika versioner av Linux. Byter man ut Linux-kärnan så är det inte längre Linux.
I teorin finns en annan kärna, GNU Hurd, som höll på att utvecklas när Linux släpptes (den håller fortfarande på att utvecklas, men arbetet går långsamt).
Men flera versioner av Linux-kärnan används:
Red Hat 7 använder t.ex. Linux 3.16 (Red Hat 8 kom i maj-2019 och använder 4.18) – medan Ubuntu 19.04, som kom i april-2019 använder Linux 5.0.
Filsystem
I windows används FAT, FAT32 och NTFS.
Vanligaste filsystemet i Linux är ext2, ext3, ext4, men det finns även andra som XFS, Btrfs, JFS. Linux klarar även av Windowsformaten, men Linuxformaten är givetvis bäst för Linux. Man kan göra en live-USB i windows, som använder FAT och som kan läsas av en Linux-maskin.
Daemons/init
Detta motsvaras av services i Windows. Init är det program som sköter alla services/daemons i Linux.
Tidigare användes ofta Sys V Init, men sedan ett par år håller systemd på att bli populärare. det finns även andra som t.ex. Upstart.
Skalet (shell) / kommandoprompten (command line)
I Windows finns CMD och PowerShell.
Vanligast i Linux är bash, men det finns även sh, csh, zsh, korn, fish (som synes slutar nästan alla shells med “sh”).
GNU tools
Alla hundratals småprogram i Linux som skapats av GNU-projektet. Exakt vilka program som är installerade skiljer sig från dator till dator.
Graphic User Environment
Grafiken i en dator är avancerad och består följaktligen av flera delar.
Det här handlar om “fönster”-grafik, inte hur kommandoprompten ser ut.
Display Server
Det program som kommunicerar med grafikkortet.
Det som används idag är X-windows från x.org. Ett nytt system, kallat Wayland, är på g.
Display Manager
GDM (GNOME), KDM, KDE, LightDM.
Window Manager
Metacity (GNOME), KWIN (KDE), Xfwm (xfce), Compton.
Desktop Environment
(det här är vad man brukar tala om när man talar om olika windowslösningar i Linux)
GNOME, KDE, MATE, Xfce, Cinnamon.
Graphic Toolkits
GTX+, Qt.