300810

Anteckningar Linux 30/8/2010

Förmiddag
Journalföranda filsystem

Lovar att informationen är logiskt sammanhängande.

FSCK: File System ChecK: Till för att fixa filsystem

Journalförande filsystem gör att FSCK fungerar snabbare eftersom information är mer logiskt uppbyggd.

Vad händer om man rycker strömmen?

Med FSCK tar det väldigt lång tid om det finns många filer och stora filer att reparera disken om det blir fel.

Kan ta en halvtimme per 100 GB eller så med icke journalförande.

diagram över bilder




EXT2: Säkert och relativt trögt och ont om funktioner, effektivt för lagring, skriver inte förrän man faktiskt gör någonting. Inga filer större än 2 TB.

EXT3: Samma som EXT2 men de har fört in journalföranda funktioner också, det är dock bakåtkompatibelt med EXT2. Inga filer större än 2 TB.

ResierFS: Skapat för att ha bra stöd för journalföring och är bra på att hantera många filer snabbt, många versioner av det är buggiga då det är byggt på lite mycket fullösningar, döende eftersom skaparen och uppehållaren sitter i fängelse.

JFS: Silicon Graphics, (Journaling File-System), deras starkaste argument för att köra SG-burkar enligt dem själva. Silicon Graphics: Var störst på professionell grafisk prestanda fram tills ungefär slutet av 90-talet, körde UNIX.

XFS: IBMs filsystem, dåligt på att hantera strömavbrott, viktigt med UPS därav.

FFS: Solaris, BSD

NTFS: Windows NT File System

ZFS: Sun Microsystems ligger bakom det.. Högeligen experimentellt med hett och coolt. Har en massa finesser som inte finns på andra system. Copy on write, den kan hantera skillnaden mellan två kopior av en fil som enda åtskillnaden, vilket gör att man kan lagra en stor fil en gång men ha små ändringar som gör att den alltså finns i effektivt två upplagor. Stödjer snapshots av filsystem så man kan göra en backup medan man arbetar. Ett problem med det är att SUN inte gillar linux för att det är deras starkaste konkurrent då det skär in på deras hårdvaruförsäljning, licensen är inkompatibel med GPL2 därav och det kommer därför aldrig komma med i kärnan. Bra på att ändra storlek under drift.

FAT: Gammalt och beprövat men dåligt, många begränsningar.

XIAFS: Gammalt

FFS: Fast file system

HFS: Macs filsystem, HFS+ är jorunalförande, är en variant av FFS:
BTRFS: Konkurrent till ZFS, stödjer liknande funktioner, smartare sätt att skriva filer vilket kommer göra det snabbare, det är troligen något vi kommer jobba med när vi går ut, bra på att ändra storlek på under drift, ännu bättre än ZFS.

AmigaFS: Gammalt, används bara till amiga.

ISO9660:CDs filsystem Romeo och Julia=Varianter av ISO9660 för att stödja mer än 11 tecken, skapade av microsoft (finns gott om varianter av olika aktörer).

http://www.phoronix.com/scan.php?page=home

Om man har avancerade datorer med snabb disk och snabbt minne så är XFS och JFS bättre än mer desktopbaserade OS. Vid RAID är det bra.

Används också vid SAN (Storage area network)


Filsystem, tre delar som kan variera när Roland pratar om det.

Koden (den som ligger i kärnan)

Information på disk (det som ligger på disken, informationen kring det hela)

Lagringsstrukturens utseende (var den placerar filer och hur)


Många Linuxar kör FSCK i starten, om den stöter på problem så stannar den vid en kommandoprompt där.

Finns lösningar för att fjärrstyra datorer även i det stadiet så att man slipper åka fysiskt dit, HP lights out exempelvis, de kallas IPMI (Intelligent Platform Management Interface)

Efter # antal bootar så tvingar den en full koll (# är ofta mellan 30 och 100 ggr).

MKFS är kommandot för att skapa filsystem. Exempelvis [MKFS EXT3].

FSCK -y svara automatiskt ja på alla frågor, sparar tid om man måste åtgärda massa småskit.

I /Lost+found/ hamnar massa saker, man bör rensa den ibland om man vill undvika att känslig information kan hittas av andra.

Eftermiddag

Hur man skapar filsystem

MKFS - [MKFS EXT3}

Gparted (GUI)


LVM

Gör att man kan utöka filsystemets storlek genom att plugga in fler diskar.

BTRFS och ZFS kan utökas under drift.

XFS, JFS och ReiserFS har partiellt stöd också (det går långsamt och/eller är buggigt).


TuneFS (ojsan vad jag inte lyssnade här).


Linux Standard Base

En bas för hur alla linuxar ska vara, alla som uppfyller det går att kompilera program till.

http://www.linuxfoundation.org/collaborate/workgroups/lsb för vidare information



Skillnad mellan applikation och program

Applikation: Tillämpning: Användarperspektiv, en helhetslösning.

Program: Enskilda delar.


Vanliga kommandon

Exempel: ls cp mv rm cd ln (man för mer info)

Textedtiorer:

Nano/pico: finns nästan överallt, är enkla och CLI-baserade

Vi : Gammal klassiker, väldigt ointuitiv

Emacs: Väldigt komplett och avancerat kodverktyg, med tetris och inbyggd psykolog, kommandoraden delar tbordsgenvägar med emacs.

Gedit: Grafiskt och enkelt verktyg till gnome


fdisk -l partitionshanterare

df -h kollar hur mycket plats de olika filsystemen har och hur mycket extra utrymme det finns

du disk usage, bra för att räkna ihop ur mycket filer tar upp

du -s kollar storlek på en katalog

du -s *.* kollar allt, inklusive dolda kataloger

lsof: kollar allt som kommunicerar med allt, innanför och utanför datorn.

mount -o remount -ro /[monteringspunkt]: monterar om partitionen så att den endast går att läsa från


FUSE

En användarprocess kan man montera filsystem som en normal användare

Du kan montera det mesta med det, inklusive webbutrymmen och liknande.

Ett av de få sätten att använda ZFS under linux.


chmod ändra rättigheter

chown ändra ägare

chgrp ändra grupp

newgrp byta grupp

Diskkvoter är till för att begränsa användare i ett system för att använda för mycket utrymme, mest populärt i skolor eftersom att annars kan de bryta allt.


SUID

Programmet körs med rättigheter från en annan användare.

Om det används till root är det en oerhörd säkerhetsrisk då programmet då får kompletta befogenheter.

Kan vara praktiskt vid mailhantering.

SGID

Samma som SUID fast för grafiskt interface.

Praktiskt för ett gemensamt lagringsutrymme för många användare, gör så att alla som använder den katalogen skapar filer av den användaren och kan ta bort filer som den användaren.


Sticky bit

Till för att hindra program för att swappa ut till disk (primärt historisk funktion).

Kan användas för att hindra folk från att ta bort en fil om man inte är dess skapare, även om man egentligen har rätten till att ta bort filer där den ligger.

Bra för:

/tmp

/var/tmp

Kataloger som är till för att slänga ut utrymme dit, temporära slaskfiler.

/var/tmp är vanligare för moderna program att använda.

Eftersom att annars kan andra användare på ditt system ta bort filer som fortfarande är aktuella för dig.


Useradd username

Adduser username

Skapar normalt både en användare och en grupp.

Förrut ansågs det dåligt men numer är det helt ok och man brukar utöver det helt enkelt lägga till de grupperna som behövs senare.