OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

29
OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010 INNEHÅLL Filsystem Filsystemkommandon i Linux Filstrukturen i Linux

description

INNEHÅLL Filsystem Filsystemkommandon i Linux Filstrukturen i Linux. OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010. Filsystem. Alla operativsystem har behov av att lagra och läsa data En del data lagras tillfälligt i RAM-minnet (t.ex. Instruktionerna för ett - PowerPoint PPT Presentation

Transcript of OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Page 1: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

OPERATIVSYSTEM OCH PRAKTISK LINUX

Föreläsning 4 – Vecka 46 2010

INNEHÅLLFilsystemFilsystemkommandon i LinuxFilstrukturen i Linux

Page 2: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystem

Alla operativsystem har behov av att lagra och läsa data

En del data lagras tillfälligt i RAM-minnet (t.ex. Instruktionerna för ett

program när man startat upp en process av det)

På dagens datorer finns det också behov av att lagra data permanent (dvs

datat finns kvar även vid strömavbrott, ända tills det raderas) på någon typ

av lagringsmedia, bl.a. Hårdskiva, USB-sticka, DVD

Det är operativsystemets uppgift att se till att applikationer kan komma åt

lagringsmedia

Page 3: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystemsgränssnitt

Moderna operativsystem har ofta tre olika gränssnitt för filsystem: Den logiska filsystemstrukutren Det virtuella filsystemet Den fysiska filsystemstrukturen

Användares process

Logisk filstruktur

Operativsystem

Virtuellt filsystem

Drivrutin Drivrutin Drivrutin

Fysiskt filsystem

Maskinv. Maskinv. Maskinv.

Page 4: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystememsgränssnitt

Den logiska filstrukturen Hur filsystemet ser ut ur användarens, programmerarens och/eller ett

enskilt programs synvinkel

Det virtuella filsystemet Det gränssnitt som operativsystemet har bestämt att alla filsystem skall

använda när operativsystemet kommunicerar med dem.

Det fysiska filsystemet Hur filerna faktiskt lagras (fysiskt) på lagringsmediet

Page 5: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Virtuella filsystem

Linux har ett virtuellt filsystemlagar (VFS) som gör det möjligt att helt och

hållet avskilja användarsidan från den fysiska lagringen

Den största anledningen till att man använder ett virtuellt filsystemlager

mellan användaren och hårdvaran är att själva operativsystemet,

applikationer och användare inte skall behöva bry sig om vad det är för

enhet/filsystem som filen de vill åt ligger på

Utan ett virtuellt filsystem hade själva operativsystemet och alla program

som vill använda sej av ett filsystem behövt veta hur man anropar just den

enheten

Page 6: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Virtuella filsystem

I stället ligger nu all filsystems- och enhetsspecifik information i egna

drivrutiner som operativsystemet och programmen kommunicerar med

Webbserver

Logisk filstruktur

Linux kärna

Virtuellt filsystem

Ext3 Vfat GmailFS

Fysiskt filsystem

Hårddisk Diskett gmail

Page 7: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Logisk lagringsstruktur

Användarna och programmen ser aldrig hur filer lagras utan endast det

som operativsystemet presenterar för dem

Linux använder sig av en hierarkisk filstruktur som innebär i praktiken

kataloger, underkataloger osv.

Till skillnad från många andra operativsystem ser inte Linux på filsystemet

som en samling av fysiska enheter (Som t.ex. Windows)

I stället utgår allting från / (rotkatalogen) och under den placeras alla

lagringsenheter in oberoende om all data finns på en enda hårskiva, flera

hårdskivor, på USB-sticka eller på nätverksenheter

Page 8: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Logisk lagringsstruktur

Användarna och programmen ser aldrig hur filer lagras utan endast det

som operativsystemet presenterar för dem

Linux använder sig av en hierarkisk filstruktur som innebär i praktiken

kataloger, underkataloger osv.

Till skillnad från många andra operativsystem ser inte Linux på filsystemet

som en samling av fysiska enheter (Som t.ex. Windows)

I stället utgår allting från / (rotkatalogen) och under den placeras alla

lagringsenheter in oberoende om all data finns på en enda hårskiva, flera

hårdskivor, på USB-sticka eller på nätverksenheter

Page 9: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Fysisk lagringsstruktur

Vad är egentligen en fil för någonting??

Finns egentligen inget svar på den frågan!

En fil kan lagras på massor av olika sätt på ett media

Man brukar skilja på två huvuddedlar: Det fysiska mediet - hårdiskar, DVD-skivor... Filsystem – En struktur som bestämmer hur filen lagras på det fysiska

mediet

En fil lagras inte på samma sätt på t.ex. en hårdskiva som på en DVD-skiva

Page 10: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Fysisk lagringsstruktur

En fil kan också lagras på olika sätt på samma hårdskiva

Orsaken till det är att olika tillämpningar ställer olika krav på filsystem

Filsystemen skiljer sig åt med hänsyn till hur filer och kataloger lagras på

det fysiska mediet för att det skall vara så effektivt som möjligt med

avseende på utrymme, hastighet, pålitlighet, säkerhet etc.

Page 11: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystem

För att lagringmedia, t.ex. en hårdskiva, skall vara användbar måste man

hålla reda på hur data lagras i utrymmet

Det är här filsystemet kommer in i bilden

Ett filsystem består i sin enklaste form av Superblock – Innehåller info om själva filsystemet Filallokeringstabell (FAT) – talar om var filerna startar och hur många

block de upptar Dataområde – själva datat

Superblock FAT

Page 12: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystem

Fördelen med denna typ av filsystem är: Lätt att implementera Går fort att läsa och skriva information till och från disken eftersom alla

block som hör till samma fil lagras efter varandra (är inte utspridda över hela disken)

Nackdelen är att om man tar bort en fil i mitten kan man inte spara in en ny fil på samma

ställe om den är större än den gamla, måste i stället spara i slutet av disken och då lämnar det ett ”hål” i mitten

Efter långvarig användning blir filen långsam eftersom filer är utspridda över hela disken

Kräver regelbunden ”defragmentering” av hårdskivan (sorterar om alla filer så att de igen kommer efter varandra och genast från början

Page 13: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystem

En annan variant av filsystem är att man varje block av en fil pekar på nästa

Block (betyder att alla delar av filen behöver inte lagras i en klump efter

varandra)

Fördelen är att alla block används, blir inget slöseri av diskutrymme och

Defragmentering behövs ej

Nackdelen är att själva pekaren som behövs i varje block, upptar utrymme

på hårddisken

Superblock FAT 2 4 6 -1 8 -1

1 2 3 4 5 6 7 8 9 ...

Page 14: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystem: I-noder

Den mest avancerade varianten av filsystem

Ligger som grund för de flesta Unix-filsystemen, inklusive Linux

Exempel på sådana filsystem är bl.a. ext2 och ext3

Iden är samma som systemet presenterat på föregående slide, men med

den stora skillnaden att man inte här använder pekare i varje block utan i

stället har varje fil en I-nod som har information om var ALLA block som

tillhör filen finns.

Page 15: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystem: Fler förbättringar

Förutöver dessa finns ännu ytterligare förbättrade varienter såsom:

Journalförande filsystem Grundtanken är att alla ändringar (t.ex. lagring) på disken loggas

före själva filsystemet ”ändras” Gör att filsystemet inte så lätt blir korrupt vid en systemkrash Exempel på jornalförandefilsystem är: ext3, ext4 och NTFS

Loggbaserad filsystem Har konstruerats i huvudsak för att försnabba skrivningar till en disk Finns i dagens läge dock inget sådant filsystem som slagit igenom

Page 16: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Nätverksfilsystem

Alla filsystem är inte lokala, som de vi hittils behandlat

Nätverksfilsystem blir alltmer vanliga

Är inget annat än ett klientprogram som låtsas vara ett filsystem för att

sedan skicka alla förfrågningar vidare till ett serverprogram

Serverprogrammet utför sedan de uppgifter som den fick från

klientprogrammet som den utför på ett vanligt lokalt filsystem (på servern)

De vanligaste nätverksfilsystemen inom Linux/Unix-värdlen är: NFS (Network File System) Samba

Page 17: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystemkommandon i Linux: fdisk

Om man t.ex. tar ibruk en ny hårddisk på en Linux-dator måste den först

partitioneras (i en eller flera delar) och så behöver ett filsystem installeras

En hårddisk kan partitioneras med fdisk-kommandot

Linux behöver minst en partition vilken används till rootfilsystemet (sjäva

installationen av Linux)

Vanligen brukar man ytterligare skapa en swap-partition (för ”reservminne”)

och ett antal filsystempartitioner som man använder för att lagra filer på.

(grundtanken är att ha själva systemet och andra filer på skilda partitioner

så att inte data går förlorat ifall man blir tvungen att installera om

operativsystemet)

Page 18: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystemkommandon i Linux: mkfs

Med mkfs kan man skapa ett filsystem i en partition

Exempel:

mkfs –t ext3 /dev/hda2

(skapar filsystemet ext3 på den andra partitionen på hårddisken hda)

Page 19: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystemkommandon i Linux: mount

Används för montering av filsystem

För att kunna använda ett filsystem i Linux från t.ex. en annan partition,

hårddisk eller server (än rootfilsystemet) måste filsystemet först monteras in

i filträdet

Exempel: mount –t ext3 /dev/sda1 /minAndradisk

I exemplet ovan monteras första partitionen på disken sda till filträdet i

katalogen /minAndradisk

Page 20: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystemkommandon i Linux: df

Kommando som används för att visa monterade filsystem

Exempel: df –h

Kommandot ovan visar alla monterade filsystem i ett ”mänskligt” format,

dvs. Storleken på filsystemen visas i megabyte-format

Page 21: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystemkommandon i Linux: umount

Kommando som används för att avmontera ett filsystem

Exempel: umount /dev/hda2

Exemplet ovan avmonterar andra partitionen på disken hda

Page 22: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystemkommandon i Linux: /etc/fstab

Är inte ett kommando utan en fil som håller information om fördefinierade

monteringspunkter

Operativsystemet behöver denna fil bl.a. vid uppstart för att kunna känna till

de lagringsmedia som skall användas samt vilka filsystem de har samt vart

de olika filsystmen skall monteras i filstrukturen

Enhetsnamn Monteringspunkt

Filsystem Argument Dump Ordning

/dev/hda2 / ext3 Defaults 1 1

/dev/fd0 /mnt/floppy ext3 Defaults, ro 1 2

/dev/md0 /home ext3 Defaults 1 2

nfs:/software /software ext3 Defaults 1 0

Page 23: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filsystemkommandon i Linux: /etc/fstab

Enhetsnamn – en enhet/partition, dessa är åtkomliga via filer som finns i

katalogen /dev

Monteringspunkt – vart i filtredet filsystemet skall monteras

Filsystem – Namnet på filsystemet som finns på enheten

Argument – Anger med vilka ”alternativ” ett filsystem skall monteras.

Defaults betyder standardinstlläningar, Defaults,ro betyder

standardinställinger men ”read only” (kan ej skriva på enheten)

Dump – används nästan aldrig, bara att sätta en 1:a hit!!!

Ordning – Anger i vilken ordning filsystemen kontrolleras vid uppstart.

Normalt skall rootfilsystemet kontrolleras först (1) och sedan kontrollleras

övriga filsystem parallellt (2). Om ett filsystem har 0 här betyder det att det

inte kontrolleras vid uppstart

Page 24: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filstrukturen i Linux: Vad lagras vart?

/ Rotkatalogen Hela filsystemet i Linux utgår från denna katalog Här skall helst inte lagras några filer utan endast kataloger

/bin Här sparas de nödvändigaste exekverbara programmen för att

operera systemet (bl.a. ls, cat, pico, vi) Bör alltid ligga på sam fysiska partition som rotkatalogen

/boot Här lagras många a de filer som Linux använder vid uppstart, bl.a.

Säkerhetskopior av bootsektorn, kompilerade operativsystemkärnor Bör vara på en annan partition än rotkatalogen Vanligen endast 50-100mb stor

Page 25: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filstrukturen i Linux: Vad lagras vart?

/dev Förkorting av device Här finns alla Linux:s enhetsfiler bl.a. Filer som representerar

hårddiskar, cd-spelare, möss, serie-/parallellportar osv. /etc

Filerna här är i huvudsak konfigurationsfiler för olika program/serverprocesser m.m.

De flesta filer är textfiler Finns också en del skriptfiler, bl.a. olika startskript som är placerade

i init.d- och rc.d-katalogerna under /etc /home

Som standard placeras alla användares hemkataloger här

Page 26: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filstrukturen i Linux: Vad lagras vart?

/lib Här finns nästan alla programbibliotek som används av Linux De som inte är placerade här finns oftast placerade i /usr/lib Programbliotek är filer som innehåller standardfunktioner som

används av många olika applikationer Programbibliotek som används av Linuxkärnan finns under

/lib/modules /Lost+found

Om man efter en systemkrasch, eller systemavbrott kontrollerar ett filsystem med ett kontrolleringsverktyg placeras alla filfragment som inte kunde rättas till av kontrolleringsverktyget här

/mnt Som standard, monteras externa lagringsenheter, såsom cd-rom-

stationer hit (/mnt/cdrom)

Page 27: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filstrukturen i Linux: Vad lagras vart?

/opt Från början var det tänkt att all tilläggsprogramvara sparas hit (t.ex.

Ordbehandlar Nuförtiden är det dock vanligast att tilläggsprogramvara lagras i

/usr/local /proc

Är egentligen inga riktiga filer utan det är information som hämtas direkt från Linuxkärnan

Kan även användas för att ändra på konfigurationer för den körande Linuxkärnan

/root Rotanvändarens hemkatalog

Page 28: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filstrukturen i Linux: Vad lagras vart?

/sbin Här finns de nödvändigaste programmen som behövs för

systemadministration Vanligen har endast root rättighet att exekvera dessa program Exempel: ifconfig, reboot, mkfs

/tmp Är till för att innehålla temporära filer Alla användare har rättigheter i denna katalog Vanligtvis raderas innehållet av denna katalog automatiskt

regelbundet /usr

Tillgänglig för alla användare och administratörer Vanliga användare har dock ej skrivrättigheter Finns en mängd program och andra filer

Page 29: OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 4 – Vecka 46 2010

Filstrukturen i Linux: Vad lagras vart?

/var Standardkatalog för systemets loggfiler Bl.a. epost, boot- och kernelloggar sparas här