När Microsoft lanserar ett nytt operativsystem är genomtänkta mekanismer för utrullning och anpassning en vital del, men i Linuxvärlden har man fortfarande mycket kvar att lära.
Ett företag med 180 klienter och 20 servrar vill ersätta en del av sina klienter med Ubuntu, men behöver en strategi för att rulla ut nya klienter och styra dem centralt. Hur är det möjligt? Vilka verktyg finns? Hur integrerar vi Ubuntu med den befintliga miljön?
Utrullning av ett operativsystem görs vanligtvis på ett av två olika sätt. Antingen trycker du ut färdiginstallerade kopior preparerade med rätt program och inställningar på alla dina klienter, eller så kör du en automatisk installation där alla val under installationen finns beskrivna i en konfigurationsfil. Rätt utfört är den automatiska installationen att rekommendera.
Fördelen med den metoden är att du blir mindre hårdvaruberoende och eliminerar problem som att startsektorn på hårddisken plötsligt pekar fel eller att systemoperativet vägrar starta. Det är ett vanligt problem om du trycker ut färdiginstallerade kopior.
Kickstarta installationen
Systemet för automatisk installation i Ubuntu är en kombination av det Red Hat-utvecklade verktyget Kickstart och Debians redskap Preseed. Med Kickstart skapar du en svarsfil som du sedan kan modifiera i valfri textredigerare. Kickstart installerar du enklast via kommandoprompten med kommandot ”sudo apt-get install system-config-kickstart”. Programmet startar du sedan med kommandot ”system-config-kickstart” eller genom att klicka på Kickstart som du hittar i menyn för systemverktyg. I Kickstart ställer du bland annat in språk, tidszon, nätverket och hur hårddisken ska partitioneras.

Med verktyget Kickstart skapar du enkelt en svarsfil som används under installationen. Under testet kunde vi däremot inte lägga till enskilda paket i vår Kickstartfil utan fick gå in i efterhand och redigera den råa texten. Värt att notera är att Ubuntus version av Kickstart inte klarar av att hantera logiska volymgrupper (lvm).
De flesta inställningsalternativen kräver ingen förklaring, men kom ihåg att du måste ställa in att du ska installera från nätverk och inte från cd. Gå in under Installation Method, välj http och skriv in namnet eller ip-adressen på din installationsserver och i vilken katalog som installationsfilerna finns lagrade. Ubuntu har en server med url http://archive.ubuntu.com och underkatalogen heter ubuntu. Alla tänkbara program finns däremot inte representerade i Kickstart, och här får du hjälp av Preseed. Verktyget baseras på att du i din svarsfil skickar med variabler och variabelvärden som fungerar som inparametrar till de program som du installerar. Preseed behövs om du installerar program som under installationen stannar upp och frågar till exempel efter vilket lösenord du vill använda eller var filer ska lagras. Anledningen till att du inte hittar Preseed hos Red Hat är att inga paket som du installerar i RHEL eller Fedora ställer några frågor. Där förses i stället alla program med standardinställningar, och konfiguration görs i efterhand via filer, skript eller administrativa verktyg.
Specialinställningar, filöverföringar och automatisk konfiguration som varken hanteras av Kickstart eller Preseed gör du via skript som körs före eller efter installationen. Vanligtvis är det när installationen är klar som du vill att ditt skript ska köras. Skriptet skriver du in under Post-Installation Script.
Tyvärr verkar implementationen inte vara helt utan buggar. När vi skapade ett skript för att kopiera in en publik nyckel för autensiering hos den användare som vi lagt till under alternativet User Configuration blev det problem. Användaren hade ännu inte skapats när vårt skript kördes – trots alternativet Post-Installation Script.
Skapa din installationsserver
Svarsfilen som heter ks.cfg laddas sedan upp på en webbserver som du har tillgänglig. Du får räkna med att köra några installationer och laborera med ks.cfg innan du fått precis den konfiguration som du är ute efter. Vi råkade också ut för att Kickstart hos den beta av Ubuntu 10.04 som vi testade inte klarade av att spara konfigurationsfilen, vilket gjorde oss tvungna att använda en äldre version från Ubuntu 9.10.
"Vi råkade också ut för att Kickstart inte klarade av att spara ner konfigurations-filen."
När svarsfilen är på plats är det dags att konfigurera den server som du ska använda för installationen. En nätverksinstallation av Ubuntu som du startar via pxe är beroende av tre servertjänster: dhcpd, tftpd och httpd. Vi går igenom dem i tur och ordning.
I konfigurationen av din dhcp-server ska du se till att variabeln filename skickar namnet på startfilen pxelinux.0 och att variabeln next-server skickar ip-adressen till den tftpserver där filen laddas ned. Raderna i filen /etc/dhcp3/dhcpd.conf ser ut så här om din tftpserver har ipadress 192.168.100.1:
filename ”pxelinux.0”;
next-server 192.168.100.1;
Tänk på att dhcp-servern måste startas om varje gång du har gjort ändringar i konfigurationen. Servern startar du enklast om med kommandot ”service dhcp3-server restart”. Om du inte har någon dhcp-server tillgänglig installerar du den med kommandot ”sudo apt-get install dhcp3-server”.
Automatiska installationer
Tftp är en form av osäker filöverföring. Den används ofta av nätverksinstallationer för att skicka den fil som systemet ska starta på. Hos Ubuntu heter filen pxelinux.0 och du hittar den på installationsskivan i katalogen /install/netboot. Tftpd installerar du med kommandot ”sudo apt-get install tftpd”. Det är bra att känna till att tftpd är beroende av tjänsten openbsd-inetd och aktiveras i filen
/etc/inetd.conf. Rootkatalogen för tftpd ställs också in i inetd.conf och pekar från på /srv/tftp. Katalogen finns inte från början utan måste skapas med kommandot ”sudo mkdir
/srv/tftp”. Nu kan du kopiera över alla filer med underkataloger från
/install/netboot på installationsskivan till /srv/tftp på den server som du använder för installationen.
Tänk på att det bara är Ubuntu 10.04 Server och Ubuntu 10.04 Alternate som kan användas för automatiska installationer. Om du vill automatisera installationen av en klient för skrivbordet, är det alltså installationsskivan Ubuntu 10.04 Alternate som gäller och inte Ubuntu 10.04 Desktop.
Pxe-starten för Ubuntu måste konfigureras för att skicka rätt kärnparametrar som talar om var Kickstart-filen hämtas. Konfigurationsfilen du skapar ska heta /srv/tftpd/pxelinux.cfg/default. Vår fil ser ut så här:
default install
prompt 0
timeout 0
label install
menu label install
menu default
kernel ubuntu-installer/i386/linux
append ks=http://192.168.100.1/kickstart/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz –quiet.
Hur sökvägen till kickstartfilen ser ut beror på var du väljer att lägga den. I vårt fall hämtar vi den från en server med ip-adress 192.168.100.1 och filen finns i underkatalogen kickstart.
Den sista tjänst som du måste sätta upp för att få din nätverksinstallation att starta är webbservern. Apache är den vanligaste webbservern, den installerar du med kommandot ”sudo apt-get install apache2”. Skapa en katalog /var/www/kickstart dit du kopierar kickstartfilen ks.cfg.
Ubuntu 10.04 är en lts-version. Lts står för long term support, och det betyder att Canonical förbinder sig att distribuera mjukvarufixar under en längre tid än för andra versioner av Ubuntu. Serverversionen av Ubuntu 10.04 uppdateras de nästkommande fem åren, alltså fram till år 2015, och skrivbordsversionen stöds
under tre år framåt, till år 2013. Ubuntu-versioner som inte är lts stöds under arton månader.