En berusende snak om serveradministration
Jeg faldt i snak med en fyr til en 30-års fødselsdag i lørdags. Han arbejder som UNIX-administrator et sted inde i Bergen, og vi fik os en ganske fin snak om nogle af nørdeverdenens store spørgsmål til trods for, at både aftenen og promillen var nok så fremskreden. Eller måske netop på grund af det.
Anyway, vi kunne jo nemt blive enige om, at Linux er fedt, og Windows er yt, og det gjorde vi da også. Men ham fyren havde alligevel nogle ret gode pointer, som jeg nok har været klar over men aldrig grebet – til trods for, at de har ligget lige under næsen på mig.
Linux (som for nemhedens skyld bruges som en fællesbetegnelse for alt UNIX-relateret – fyfy!) ER nemlig bedst. Grunden til dette er nemlig, at man i Linux har en meget større grad af frihed. Hvorfor nu det? Jo, både Linux og Windows har en række værktøjer, som administratoren har til rådighed, men den store forskel er i, hvordan de anvendes. Anvendelsen af værktøjerne er bare så meget bedre i Linux end på Windows.
Et eksempel forklarer dette bedre end noget andet. Mit kendskab til Windows Server er noget rustent (det er trods alt fire år siden sidst, jeg har rørt ved en), så Windows-delen af eksemplet er sikkert ikke 100% korrekt.
Vi antager, at en webserver skal genstartes (servicen, ikke hele maskinen). På Windows gør man noget i stil med dette: Åbner kontrolpanelet, scoller sig frem til Services-programmet, åbner det, finder frem til webserver-tjenesten, markerer den, trykker på stop/start-ikonet.
På en Linux-maskine skriver man een kommando, som er noget i stil med “/etc/init.d/apache restart”.
Eksemplet antyder forhåbentlig, at man skal bruge en del flere kræfter i Windows på at gøre den samme ting, som kan gøres med en bette kommando i Linux.
Skal jeg tage tråden videre, så ligger den store forskel nemlig i kommandolinjen. Windows GUI-er sig selv ihjel og gør alle programmer til egenrådige små enheder, som ikke kan arbejde særligt godt sammen med andre. Der skal en skov af museklik til, før man kan få gjort noget som helst, og serveradministration med GUI er et klasseeksempel på, at ting ikke bliver lettere, bare fordi man smider knapper og tekstfelter ovenpå.
Linux består også af mange små programmer, men ved hjælp af noget så enkelt som piping og shell-scripting kan man kombinere programmerne til at løse den opgave, som man er i gang med. Det svarer lidt til, at en tømrer kunne kombinere en hammer og en tommestok og få et nyt værktøj, som løser lige nøjagtigt den opgave, han er i gang med.
På universitetet havde jeg en underviser, der spåede Linux’s undergang og Windows servernes triumf, fordi folk synes livet er for kort til kommandolinjen. Jeg syntes dengang, at han var vældig overbevisende, men i dag ved jeg, at han tager så grueligt fejl.
loading...
Jeg kan godt følge dig og er også selv inkarneret Linux bruger + administrerer +200 Unix-baserede bokse på mit arbejde. Mit billede er dog, at “valget” er meget religiøst og begge lejre er nærmest lige snævertsynede.
Jeg har en del kolleger, som både administrerer Windows og Unix – de sidder altså med et ben i begge lejre og er efter min mening de bedste til at udtale sig om “hvad der er bedst”. Lige præcis kritikken omkring script-muligheder i Windows synes jeg ofte vidner om en håbløs uvidenhed om mulighederne i Windows. WMI giver mange mange muligheder for at interface med Windows og dit konkrete eksempel med genstart af en service kan klares simpelt med kommandoen “sc”. Min pointe er, at Microsoft faktisk giver masser af script-muligheder, men de enkelte tredjeparts leverandører er meget dårlige til det. Det er nok nærmere en kulturændring der skal til hos software udviklerne på Windows-platformen – for jeg er fuldstændig enig i, at en platform hvor du hovedsagligt er nødt til at bruge musen som interface værktøj, slet slet slet slet ikke vil fungere ude i “den virkelige verden”.
loading...
Jeg skal gerne være den første (og sikkert den eneste) til at indrømme, at jeg besidder en håbløs uvidenhed om mulighederne i Windows. Tak fordi du kaster et andet lys over sagen.
Men – det er ikke mit indtryk, at brugere af Windows-servere er kommandolinjefolk, eller tager jeg (også) helt fejl her? Forcen i ikke-Windows er netop, at alle programmer ligger lige under fingerspidserne, hvilket de ikke gør i en GUI-verden.
I forlængelse af det kan man sige, at min håbløse uvidenhed samtidig sætter en fed streg under et andet af dine punkter: at valget er meget religiøst. Man kan også kalde det “præget af præferencer” for det tror jeg dækker lidt bedre; det er komplekse sager at administrere servere, og derfor skal man naturligvis vælge det, man er komfortabel med.
loading...
Præget af præferencer dækker nok udmærket sagens kerne :)
Jeg synes personligt, at der er voldsomt mange ting i Windows, som er unødigt komplicerede i forhold til hvordan jeg kan kaste rundt med tingene på en kraftig fuldblods-AIX. F.eks.:
- Mulighederne for fejlsøgning i forbindelse med fejlende drivere.
- Registrerings databasen – min gud de må have røget meget hash da de fandt på det koncept!
Omvendt har Unix platformen også sine store svagheder:
- Cron – jojo, ideen er god, men temmelig cripled i forhold til Windows schedulering. Cron er samtidig noget af det første der dør når en Unix løber tør for diskplads eller bare ikke kan følge med på CPU’en. Damn, jeg har fejlsøgt den slags mange gange :/
- Filsystem rettigheder – jeg synes grundlæggende, at rettighedsstyringen i Unix er for simpel. Omvendt har jeg ofte siddet og banket hovedet i bordet på Windows over, at jeg overhovedet ikke forstod en skid af dens nedarvnings-koncepter mht. rettigheder.
Lidt tanker :)
loading...
Registreringsdatabasen i Windows er vel noget af det underligste og mest idiotiske man har fundet på i datamatens historie. Jeg er helt enig.
Jeg er også enig i, at filsystem-rettighedernei Unix-verdenen er alt for simpel, specielt i forbindelse med (automatisk) oprettelse af nye filer. Det bliver nemt til noget rod.
Tager vi platformsbrillerne af, kan vi vist nemt blive enige om, at ingen er perfekte. På med brillerne igen :)
loading...
Tag eventuelt et kig på PowerShell på Windows 2008 Server-platformen. På den kan du, hvis det har interesse, skaffe dig helt af med det grafiske interface.
Desuden synes jeg dine begrundelser for at “Linux er bedst” er meget svage og nærmest ikke underbyggede overhovedet.
Forestil dig denne opgave:
Opret et website med x antal moduler tilknyttet (ASP.NET, PHP eller noget tredje)
Tilknyt et SSL-certifikat
Noget så simpelt ville man kunne udføre mindst lige så hurtigt på en Internet Information Services i Windows 200x Server som via CLI på en Linux/UNIX.
Administration af et Windows Server-miljø er bestemt ikke en pinsel.
Hvis man skulle gå ud fra dit postulat om at Linux er bedst; så ville man også benytte Linux med f.eks. Apache til at hoste et ASP.NET 3.5 website?
loading...
Tja, jeg har aldrig lagt skjul på, at mine holdninger er farvede, og jeg vil sige, at dine udsagn er det samme. Jeg prøver bare at belyse, at den grafiske brugergrænseflade (i mine øjne) har tabt overfor kommandolinjen. At du klarer at fremhæve et eksempel, hvor det er muligt at gøre noget enkelt på Windows, er flot, men for det første er det ikke noget, jeg har en chance for at undersøge, og for det andet er det lige så dårligt underbygget som du påstår mine argumenter er.
Om man burde bruge Linux og Apache til at hoste ASP.NET sider skal jeg ikke gøre mig til dommer overfor, men personligt ville jeg ikke have noget med ASP.NET at gøre i det hele taget :)
loading...