270910 270910
Förmiddag
ELSA=Enterprise Linux System Administration
Roland finner det viktigt att vi gör den säkra vägen hela tiden.
exempelvis
tar xzf foo.tgz istället för tar xf foo.tgz
.bash_history istället för .history (tcsh kör dock history)

Vad ska vi lära oss under ELSA?
Installation - OS
    Kickstart=automatisering, RH-aserade kör ett verktyg som heter anaconda (pythonbaserat)
    Anaconda: Det går att installera över VNC och även över SSH. Finns även motsvarigheter för debian och arch.
    Fördelen är att man kan bara ha en enkel bootimage och sen köra resten över nätverket och därav behöver man inte bry sig så mycket om sitt installationsmedia.
Felsökning
    lsusb - verktyg för att se vad det är för något som sitter i ens usb-portar
"lite småplock" NFS framför allt, även allow/deny samt LVM
    NFS: Montera enheter över nätverket
    Allow/deny: Tillåta/förbjuda trafik, man kan spärra allt och sen tillåta bara de saker man vill ha in.
    LVM (Logical Volume Management): LVM är ett mellansteg mellan diskarna och partitionerna, man kan lägga till fler fysiska diskar till LVM. Moderna filsystem (som XFS, JFS, BTRFS och ZFS) klarar av det hela under drift, mindre serverinriktade kräver reboot. Det fungerar så att man delar upp systemet i volymer, sen kan man lägga till godtyckligt antal diskar till dessa volymer. LVM stödjer RAID:
RAID 0: (ingen äkta RAID) Två diskar som hanteras som en, varannan byte skrivs till varannan disk, ruskigt snabbt och osäkert, full lagring
RAID 1: Två diskar som hanteras som en, varje byte skrivs till båda diskarna, snabbt att läsa och säkert (går att byta ut en disk), halv lagring.
RAID 5: Mer komplex lagring, baserat på paritetskontroll, kräver 4 diskar eller fler, ger en disk över, snabbare att läsa och och skriva, N-1*diskutrymme antal diskutrymme.
RAID 6: Samma som RAID 5 fast med två diskars redundans.
JBOD: Ingen RAID, hanterar flera diskar som en enda disk, fördelen är att man slipper "partitioner" mellan diskarna.
LVM är väldigt flexibelt och det går att kombinera alla dessa steg.

SAN: Storage Area Network - Icke nätverksspecifika protokoll (fibre channel vanligt)
NAS: Network Attached Storage - nätverksdiskar helt enkelt, brukar köra TCP/IP men kan köra lite godtyckliga protokoll (inklusive fibrechannel)

IPMI (Intelligent_Platform_Management_Interface): Komplext vertyg för hantering
RDP: Remote Desktop Protocol (Microsofts lösning)

Drivrutiner
Windows: Jag undvek aktivt att anteckna hur windows hanterar drivrutiner.
Linux: Jag lyssnade bara halvt och har missat mycket.
Kärna
    moduler
    initrd

Grub/isolinux/usblinux
kärnan startas och kör
initrd=initial ram disk

Busybox - ett väldigt nedbantat unix som är skrivet i assembler, till för maskiner med väldigt lite behov och utrymme (exempelvis på TVs)
Det är så väldigt nedbantat att kommandon inte fungerar som de brukar.

lspci: visar intern hårdvara som ligger på PCI-liknande portar
lsusb: visar hårdvara som är ansluten via usb
/proc
Via dessa tre så listar man ut vad det finns för hårdvara, sen använder man insmod för att lägga till de moduler man behöver för att köra hårdvaran.

Fördelen med linux hantering är att man kan anpassas systemet precis som man vill, exempelvis har några skapat en variant som bootar på 5 sekunder.

Eftermiddag:
Installation
Partitionering
    BIOS - partitioner
    4 stycken - primära, i alla IBM-kloner så kan man max ha 4 partitioner
    Utökade partitioner: Det går att göra underpartioner till huvudpartitionerna, dess har dock problem om man vill boota från dem normalt sett.
    /boot är därför viktig att ha som en primär partition, det är också bra att ha den i början av disken eftersom vissa BIOS har problem med stora diskar och därav kan en uppdatering sabba GRUB, hur stor STOR är varierar från BIOS till BIOS, alltså alltid bra om man kör den i början.
Startprogram
    MBR: Master boot record
        systeminfo disk
        partitionstabell (plats för 4 partitioner)
        De första 512 byten på disken
Installationsförfarande

Swap
Finns två ställen då swap är bra:
1: När man verkligen inte under några omständigheter kan tolerera att få slut på RAM.
2: Suspend to disc.
Det är ofta bra att ha swap på en så separat disk som möjligt.

Främmande filsystem
NTFS    Fungerar halvdant, i alla OS, inklusive windows mellan utgåvor. Journalförande.
VFAT    Gammalt och buggigt, stödjer inte rättigheter
HPFS    BSD, fungerar relativt bra, fungerande säkerhetsmodell, problemet är att det är gammalt och dåligt
ZFS       Suns eget. Journalförande, copy on write (lagrar extremt liknande filer på ett ställe fysiskt på disken, om delar av den ändras så flyttas de separata delarna till en egen fil), bra på att hantera kataloger med många tusen filer. Stödjer brytpunkter, dvs, sätter ett illusorisk lås på datorn som gör att hela diskens innehåll sparas för en backup och det kan göras ändringar (men det går fortfarande att göra backupen vid brytpunkten).
Ligger under GPL v3, det gör att det inte stödjer drm och att den inte går in i linux-kernelen för den är under GPL v2 och de två är inkompatibla.

"Linux filsystem"
minix       
xiafs       
reiserfs    Sista versionen (4) var buggig när Hans Reiser hamnade i fängelset, så det är fortfarande buggigt.

"Riktiga" Linux filsystem
ext2       Saknar journalföring
ext3       Har journalföring, bakåtkompatibelt med ext2.
ext4       Använder de grundläggande principerna bakom ext3 men är inte bakåtkompatibed med det.
XFS      Används i skarp drift idag vid tunga behov - från IBM
JFS       Används i skarp drift idag vid tunga behov - från silicon graphics
BTRFS  GPL v2 FS som klarar av mycket av det ZFS gör. Bygger enkla strukturer på disk för att det inte ska bugga ur.

Journalföring gör att filer är lika stora på disk som de säger att de är, de är alltså logiskt riktiga även om de inte är exakt som du hoppas att de ska vara.
En fördel med det är att fsck kan jobba mycket, mycket snabbare.
Filsystem kan betyda:
Källkoden
Strukturen på disken
Filträdet
Så var beredd på att tolka för att förstå vad det betyder.

union file system
gör att man kan skriva till RAM-disken men så att datorn uppfattar det som att det är skrivet till hårddisken, bra vid -ro.