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.
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.