Skickad

Denna text handlar om det äldre protokollet IPv4.
En IP-address består av 4 nummer mellan 0-255 som är avskiljda med punkter, t.ex. 192.168.0.1.
Antalet möjliga adresser är därför 256*256*256*256 = 4 miljarder.

Har man ett lokalt nätverk (t.ex. hemma eller på ett kontor) använder man sällan mer än något tiotal eller hundratal IP-adresser.
För att tala om hur många adresser LAN:et har, använder man en subnätmask – det gör att ingen dator i nätverket letar efter IP-adresser utanför det område man bestämt med masken.

En subnätmask ser ungefär ut som en IP-address, t.ex. 255.255.255.0.
0-255 kan skrivas binärt med ettor och nollor: 00000000-11111111.
Så det decimala 255.255.255.0 blir binärt 11111111.11111111.11111111.00000000.
Observera att en subnätmask ALLTID har ettor från vänster och nollor från höger. Detta är alltså INTE en subnätmask:
11111111.11111111.11111101.01000000.

Det intressanta är hur många nollor masken har, för varje nolla dubblas antalet adresser:
1 nolla = 2 adresser.
2 nollor = 4 adresser.
3 nollor = 8 adresser.
o.s.v.

Dock är det svårt för oss människor att räkna binärt, därför har man kommit på lite olika sätt att namnge nätmasker.
Dels kan man ange det decimalt, t.ex. 255.255.255.0.
Dels kan man ange det som IP-address, snedsträck, antal ettor i nätmasken, t.ex. 192.168.0.1/29
Dels kan man ange det som en bokstav om antalet nollor är jämnt delbart med 8.

Binärt – adr – Decimalt – Antal – Klass
11111111.00000000.00000000.00000000. – /8 – 255.0.0.0 – 16777216 adresser – Class A
11111111.11111111.00000000.00000000. – /16 – 255.255.0.0 – 65534 adresser – Class B
11111111.11111111.11111111.00000000. – /24 – 255.255.255.0 – 256 adresser – Class C
11111111.11111111.11111111.10000000. – /25 – 255.255.255.128 – 128 adresser
11111111.11111111.11111111.11000000. – /26 – 255.255.255.192 – 64 adresser
11111111.11111111.11111111.11100000. – /27 – 255.255.255.224 – 32 adresser
11111111.11111111.11111111.11110000. – /28 – 255.255.255.240 – 16 adresser
11111111.11111111.11111111.11111000. – /29 – 255.255.255.248 – 8 adresser
11111111.11111111.11111111.11111100. – /30 – 255.255.255.252 – 4 adresser

Enklast är att använda Class C: 255.255.255.0.
Man kan tänka sig att de binära ettorna i masken “låser” siffrorna i IP-adressen.
Då har vi ett nätverk där de 3 första IP-nummerna är låsta, men det 4:e kan vara vad som helst, t.ex. 192.168.0.XX.
Då kan man använda 256 adresser, från 192.168.0.0 till 192.168.0.255.

Men vad händer om vi har en /30-mask med 4 adresser, vilka 4 adresser får man använda?
Då får man räkna 4 adresser åt gången och börja från 0:
0-3 är ett nätverk.
4-7 är ett nätverk.
8-11 är ett nätverk.
O.s.v.
Det betyder att 192.168.0.1/30 och 192.168.0.3/30 ligger på samma nätverk, men 192.168.0.4/30 ligger på ett annat nätverk.

Skribent

Skickad

Om det är första gången man installerar Linux bör man välja:

En nybörjarvänlig distro
Som nybörjare vill man bara att allt ska fungera.
Lista på nybörjar-distros

En live-USB
“Live” betyder att man kan köra OS:et direkt från en USB-sticka utan att man behöver installera.
Innan man installerar på en dator kan det vara värt att testa att den valda distron faktiskt fungerar på datorn.
Vissa hårdvarutillverkare, t.ex. NVIDIA och Broadcom, är notoriskt dåliga med drivrutinstöd till Linux.
Lista på live-distros

När man valt en distro går man till dess sida och tankar ner installationsfilen.
Det ska vara en ISO-fil (ibland är det en zip-fil som innehåller en ISO-fil).
En ISO-fil är det man “bränner” på en CD eller DVD, numera brukar man dock installera från en USB-sticka.

Sedan måste man skaffa ett program för att skapa en installations-USB. Här är en lista på program för att skapa Live USB system
Arbetar man i Windows och ska göra en Linux-USB rekommenderar jag Rufus – men det får inte vara högre versionsnummer än 2.18 – då version 3 och högre inte har stöd för att göra Linux-USB.

När man gör en Live USB går det normalt utmärkt att använda Windows gamla filformat FAT32, men det finns två saker att tänka på:
FAT32 stödjer bara USB-stickor upp till 32 GB och filer upp till 4 GB.
Har man större saker rekommenderas ExFAT.

När man har sin Live USB är det bara att stoppa in den i datorn och starta om.
Många datorer har dock en “säkerhetsspärr” som gör att de inte bootar från USB. Det brukar vara en speciell tangentkombination man ska trycka vid start för att boota från USB, men detta kan variera från dator till dator.

Om allt fungerar som det ska kommer man nu till en startsida där man får välja vilken sorts installation man vill göra, eller om man vill köra live.

Skribent

Skickad

En Linuxdistribution är en samling program som tillsammans bildar ett komplett operativsystem. Eftersom det finns massor med program som kan bytas ut är kombinationsmöjligheterna nästan oändliga, följdaktligen finns det hundratals distros. Olika distros försöker specialisera sig på olika saker:
  • Vissa försöker vara bra servrar.
  • Vissa försöker vara bra speldatorer.
  • Vissa är speciellt säkra och innehåller hackerverktyg.
  • Vissa går att köra live direkt från en USB-sticka.
  • Vissa är extremt små och ett par är byggda att köras direkt i RAM-minnet.
  • Vissa försöker vara nybörjarvänliga.

När man väljer sin första distro ska man välja en som är enkel, nybörjarvänligt och har bra support.
När man sedan behärskar Linux kan man börja leta efter distros efter andra egenskaper.

Distrowatch listar de mest omtalade/populära distrona just nu. I juni 2019 såg toplistan ut så här:
  1. MX Linux
  2. Manjaro
  3. Mint
  4. elementary OS
  5. Ubuntu
  6. Debian
  7. Solus
  8. Fedora
  9. openSUSE
  10. Zorin
  11. deepin
  12. antiX
  13. ReactOS
  14. KDE neon
  15. CentOS

Det går även att testa distros direkt i webbläsaren via DistroTest

Vissa distros är större som andra distros bygger på. De stora är:
  • Debian
  • Slackware
  • Red Hat
  • Gentoo
  • Arch
  • Android

Android är ett mobil-OS och används normalt inte på PC-datorer.

Arch Linux är inte nybörjarvänligt. Det används av tekniknördar som vill kunna bygga ihop Linux hur de vill. Arch Linux har rullande uppdateringar och alltid de senaste versionerna av alla program, så det är bra om man vill testa på det nyaste.
  • Manjaro är en nybörjarvänlig version av Arch. Det är bra som ens andra Linux-dator, men inte som ens första.
Gentoo används inte av någon, utom av:
  • Chrome OS som bygger på Gentoo.
  • Chromium OS som bygger på Gentoo.
Red Hat kostar pengar. Den är känd för att vara den stabilaste av alla distros för att de väntar upp till 5 år innan de släpper mjukvara.
  • Fedora är gratis-versionen av Red Hat och många företag använder den för att den är stabil.
  • CentOS bygger också på Red Hat. En vanligt PBX (telefonväxel) är Elastix, som bygger på CentOS.
Slackware används inte heller av någon, men:
  • openSUSE bygger på slackware och är mycket populär bland Linux-nördar då den bara innehåller fri och öppen programvara (glöm t.ex. Chrome).
Debian är den största distrofamiljen och det är här man ska börja som nybörjare.
  • Ubuntu är den största distron. Den är inte nybörjarvänligast, men det är lättast att få hjälp för att den är så stor. Det finns även flera versioner av Ubuntu:
    • Kubuntu
    • Lubuntu
    • Xubuntu
    • Ubuntu Budgie
    • Ubuntu MATE (som är populär bland nybörjare)
  • Mint anses vara nybörjarvänligast om man är van vid Windows, den bygger på Ubuntu
  • Elementary OS är också nybörjarvänligt, men utseendet liknar mer Mac än Windows, den bygger på Ubuntu.
Populäraste nybörjar-distros juni 2019 (sorterade efter GUI): Namn (från): Package; GUI; används till
  • MX Linux (Debian/antiX): APT; Xfce; Desktop, RAM, Live
  • Manjaro (Arch): -; Xfce; Desktop, Live, Customizable, rolling releases
  • Mint (Ubuntu): APT, dpkg; Cinnamon; Beginners, Desktop, Live, “windows-like”
  • elementary (Ubuntu): APT, dpkg; Phanteon; Beginners, Desktop, Live, “mac-like”
  • Debian: APT, dpkg; GNOME3; Desktop, Live, Server
  • Solus: Budgie; eopkg; Beginners, Desktop, Live, rolling releases
  • Zorin (Ubuntu): APT, dpkg, Snappy, flatpack; GNOME, Xfce; Beginners, Desktop, Live
  • deepin (Debian): APT, dpkg; Qt; Desktop, “Windows-like”
  • Ubuntu MATE (Ubuntu): APT, dpkg; MATE; Beginners, Desktop, Live
  • KDE neon (Ubuntu): APT, dpkg; KDE Plasma; Desktop, Live

Grafik över alla distros:

Skribent

Skickad

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.

Skribent