Ubuntu - installation via nätverksanslutning
OBS! Sidan har ny adress:
[http://e-dog.info/t/63/doc/Ubuntu_installation_noCD.php]
Var vänlig uppdatera ert bokmärke.
Senast uppdaterad:
den tredje april, 2011
[TA BORT MEDDELANDET]
[index]
[Tillbaka till: Ubuntu - Installation, partitionering. Grunder.]

Ubuntu

Installation via nätverksanslutning

Den här web-sidan beskriver ett specialfall av installation av Ubuntu. Detta förfarande kan t.ex. bli aktuellt om datorn saknar CD-spelare.
Länkar:
Guiden för "normal" installation (d.v.s via CD-spelare)
Guiden för installation utan partitionering (d.v.s installation av Ubuntu "inom Windows")
Ubuntu/Linux - Grunder Allmän information om Ubuntu och Linux med tonvikten på installation (inklusive en snabbguide hur man använder Ubuntu Live-CD)

När den här texten påbörjades var det inte lika vanligt som nu med installation från USB-minnen (USB-stickor, "thumb drives", "flash drives").
Installation från USB-minne har dock blivit mycket vanligare och enklare. En guide finns här. Man går helt enkelt till Ubuntus egen sajt och följer instruktionerna för att skapa en Live-CD på en USB-sticka.
En faktor som gjort detta möjligt är att det numera är mycket vanligt att datorns USB-port ("USB-kontakten") är "bootbar". Det betyder att det går att starta datorn via programvara från USB-porten. För att kunna installera Ubuntu från ett USB-minne så måste datorns USB-port vara "bootbar".
Om datorn saknar CD-spelare men har en bootbar USB-port är installation via USB-porten oftast det enklaste och bästa alternativet för att installera Ubuntu.
Saknar datorn däremot både CD-spelare och bootbar USB-port kan man läsa lite mer om de metoder som beskrivs på denna sida. I den situationen kanske det enklaste sättet att installera Ubuntu är att t.ex. installera via nätverksanslutningen.

[innehåll]

Om den här sidan.
Den här sidan handlar om hur man kan installera Ubuntu via nätverksanslutningen (s.k. "net-install", "pxe-boot", "net-boot"). Metoden för pxe-installation baseras på bl.a. denna guide. Det förutsätts att man har ytterligare en nätverksansluten dator som kör Linux/Ubuntu. (Datorerna är sammankopplade via en router.)

Den dator man installerar Ubuntu på kallas klient och den dator som assisterar kallas server. "boot" syftar på datorns startförlopp. pxe ("pixie") betyder "pre(-boot) execution environment" och används för att beskriva datorer som ställts in för att starta från nätverksanslutningen.

Detta är alltså ett sätt att installera Ubuntu på en dator utan CD-spelare, t.ex. på en äldre dator där CD-spelaren gått sönder.

Thin clients
En liknande metod innebär att låta klienten hämta sitt system från servern vid varje start (som t.ex. på många Internetcaféer, "diskless system"). Man kan också, för att avlasta klienten ytterligare, låta klienten enbart fungera som en terminal (med t.ex. skrivbordsmiljö) och använda processor/internminne i servern under körning av systemet (remote X, X-forwarding, "thin client").
Man definierar systemens karakteristika i filen [/tftpboot/pxelinux.cfg/default] Vill man att olika klienter skall erhålla olika karakteristika skapar man olika filer där "default" bytes ut mot respektive klients macadress.

Längst ner på sidan finns några alternativa metoder för installation utan CD-spelare skisserade:
1. Installation via USB-ingång
2. Installation genom att flytta hårddisken
3. Installation via montering av image-kopian
Se även länkar.

Hur installerar man Ubuntu via nätverksanslutningen ("pxe-boot")?

1. Om du känner till MAC-adressen för nätverkskortet i klienten, notera den.

Ad. 1. Det är inte nödvändigt att känna MAC-adressen, men det kan underlätta installationen.

2. Installera bootp- och tftp-servrar på servern.
sudo apt-get install bootp tftpd-hpa
Ad. 2. När den dator man vill installera Ubuntu på försöker boota över nätverket (i steg 6 nedan) så kommer en fråga att skickas till bootp-servern. Servern kommer att svara med vilken IP som klientdatorn har, vilket IP som servern har samt vilken fil som skall hämtas - via tftp - för att ladda i klientdatorns minne och boota den.

3. Ladda ner en image, t.ex. [netboot.tar.gz] och lägg innehållet i tftp-serverns mapp [/var/lib/tftpboot]. (Se punkt 5 nedan.)
Ad. 3. Imagen skickas (i steg 6 nedan) från servern till klienten och används för att boota klienten. Övriga filer kommer att hämtas från Ubuntus programförråd via Internet. En fördel med denna installationsmetod är alltså att den senaste versionen av Ubuntu installeras. [Ubuntu minimal CD] [om image-filer]

Om man laddar ner imagen som en iso-fil eller arkiv-fil måste man först extrahera de ingående filerna.

4. Konfigurera bootp-servern i [/etc/bootptab].
ha = klientens MAC-adress
ip = klientens IP-adress
gw = routerns IP-adress (gateway)
sm = 255.255.255.0 (subnet-mask)
td = /
hd = /
bf = pxelinux.0 (imagefilens namn)
[exempel
Ad. 4. Se även punkt 2 i denna guide. Om man lägger imagen i tftp-serverns rot-mapp så räcker det att ange "td" och "hd" som "/". (Se punkt 5 nedan.)
Det är bra om man känner nätverkskortets MAC-adress. Gör man inte det kan man prova att låta bootp-servern automatiskt identifiera adressen (i /etc/bootptab sätts "ht" till "ethernet" eller "ieee802"). Alternativt kan man försöka finna MAC-adressen.
[1, 2, 3] [bootp/DHCP]
/etc/bootptab:
client:\
ha="00:00:39:2B:54:B5":\
ip=192.168.1.42:\
gw=192.168.1.1:\
sm=255.255.255.0:\
td=/: hd=/: bf=pxelinux.
[källa]

Man skall naturligtvis kolla manualen:
man bootp
Manualsidor finns också på Internet: [1, 2]
Här finns förslag hur man kan identifiera IP-adressen resp MAC-adressen.

5. Konfigurera tftp-servern i [/etc/default/tftpd-hpa].
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
Ad. 5. Se även punkt 4 i denna guide. Ubuntu tftp setup: [1, 2]; [pxe]
Den katalog ("mapp") som imagen skall läggas i heter vanligen [/var/lib/tftpboot].


6. Ställ in klienten så att den bootar från nätverksanslutningen ("pxe-boot i BIOS") och starta om den.
Ad. 6. Klienten hämtar först ett minimalt Ubuntu-system från server-datorn och kompletterar sedan från Ubuntus programförråd via Internet.

Här finns ytterligare en guide från vilken man bl.a. kan hämta Ubuntu "minisystem" att lägga på serverdatorn. Det finns också separata [kodpaket] med servrar


mini.iso; extrahera filerna i imagen

Ubuntu mini.iso är en image med en funktion som motsvarar Ubuntus alternativskiva.

När man bootar mini.iso får man alltså möjlighet att starta en installation av Ubuntu till hårddisken. mini.iso innehåller dock bara de mest nödvändiga filerna (totalt 5-20 MB) för att kunna starta installationen. Övriga filer till installationen hämtas automatiskt från Ubuntus programförråd via Internet. En fördel med detta förfarande är alltså att man vid installation alltid får den mest aktuella versionen av operativsystemet.

Om man använder en iso-fil för att skapa den image som skall bootas så skall man först dela upp iso-filen i sina komponenter. Det kan man göra t.ex. så här:
sudo mkdir /media/min_katalog
sudo mount mini.iso /media/min_katalog -t iso9660 -o loop
(Om man bränner ut iso-filen till en CD-skiva brukar de flesta brännarprogram automatiskt dela upp iso-filen i sina komponenter.)

Om man laddar ner ett arkiv (.tar.gz) så skall man dekomprimera arkivet och extrahera filerna innan man flyttar dessa till tftp-serverns mapp. Detta sker automatiskt om man dubbelklickar på arkivfilen. Vill man istället använda terminalkommandon för detta steg så skriver man:
tar -xzf netboot.tar.gz


Identifiera IP-adressen

Om man redan har ett operativsystem som fungerar i klienten använder man det för att hitta IP-adressen. I Linux gör man kommandot "ifconfig" i t.ex. Windows kan man göra kommandot "ipconfig".

Om routern är inställd på DHCP så tittar man i routerns web-interface vilka IP-adresser den delar ut. Den kan t.ex. vara inställd att börja dela ut IP-adresser från 192.168.1.100. Om servern då erhållit IP 192.168.1.100 (kollas med ifconfig) får man anta att klienten erhåller 192.168.1.101. (Exemplet antar alltså att man har ett hemnätverk med två datorer.)


Identifiera MAC-adressen

MAC-adressen (Media Access Control) är en "hårdvaruadress" som bestäms av nätverkskortet. Om man redan har ett Ubuntu-system som fungerar i klienten kan man använda t.ex. kommandona "lspci" eller "ifconfig" för att finna nätverkskortets MAC-adress. I t.ex. Windows finner man MAC-adressen genom att göra "kör > cmd > ipconfig" och läser av "physical address".

Kan man se nätverkskortet eller läsa manualen till datorn går det ibland att identifiera MAC-adressen på det sättet. MAC-adressen är oftast bränd in i ROM på kortet från fabriken. I vissa fall kan man ändra MAC-adressen via medföljande setup-program för kortet.

Man kan titta i bootp-serverns loggfil för att identifiera MAC-adressen. Loggfilen kan t.ex. visa:
BootP: Unable to process request from: 00-4A-D0-86-B0-F7
BootP: Unable to process request from: 00-4A-D0-86-B0-F7
(Kontrollera att bootp-servern är inställd att avge en logg. Prova sedan att boota klienten för att skapa poster i loggfilen. Loggning sker till: [/var/log/system.log] Se även nedan - "Allmänt om servrar".)

Man kan installera program av typen nbtscan, Wireshark (olika typer av s.k. "sniffers") på servern. Om man installerar en DHCP-server på servern kan den naturligtvis störa en ev. router om man använder en sådan.

Man kan också titta i routerns web-interface för att försöka hitta klientens MAC-adress. Ibland går det att identifiera MAC-adressen genom att titta i klientens BIOS eller läsa texten på skärmen medan datorn startar.

Här finns ytterligare ett sätt att söka MAC-adressen. Man använder komandot "tcpdump":
bootpd hangs in select(..) on socket 67.
tcpdump -e port 67 DOES show activity when the client machine is powered on:
11:45:39.833084 0:0:0:0:0:0 Broadcast ip 408: 0.0.0.0.bootpc
>255.255.255.255.bootps: ether
0:0:c0:dc:ef:50


Allmänt om servrar

Man behöver ingen speciell server-version av Ubuntu/Linux för att installera t.ex. bootp- eller tftp-server. Det går lika bra att t.ex. använda ett system som installerats från Ubuntu desktop LiveCD. (Den speciella serverversionen av Ubuntu är till för att spara resurser på servrar med hög belastning.)

Linux-servrar startas och stoppas vanligen på detta sätt (med inet som exempel):
sudo /etc/init.d/inetd start
sudo /etc/init.d/inetd stop
sudo /etc/init.d/inetd restart

Om man ändrat i setup-filen för en server måste man starta om servern för att ändringarna skall träda i kraft.

Här finns ett [skript] som startar och stoppar bootp-servern. Anropa skriptet följt av start, stop eller något av de övriga kommandona i filen. För att göra ett skript körbart och sedan köra det skriver man:
chmod +x skript_namn
./skript_namn

I detta fall kan man alltså använda något av följande kommandon:
sudo ./skript_namn start
sudo ./skript_namn stop
sudo ./skript_namn restart
sudo ./skript_namn status
sudo ./skript_namn reload

För att kontrollera vilka servrar som startas automatiskt (när systemet startar) kan man använda den grafiska miljön (Gnome): System > Administration > Services

För att se om en server är igång kan man söka efter den process som skapas av serverns demon:
ps -ef | grep inetd
ps -ef | grep bootpd
ps -ef | grep tftpd
Dels får man information att man kör kommandot grep (6279 i exemplet nedan). Är servern igång så får man dessutom information om detta (6274):
ycc@ubuntu:~/Desktop/netboot$ ps -ef | grep bootpd
root 6274 1 0 13:25 pts/0 00:00:00 /usr/sbin/bootpd -d 4 -c /var/lib/tftpboot
ycc 6279 5932 0 13:25 pts/0 00:00:00 grep bootpd

Om servern startas via inet så är det inte säkert att man ser demonen med detta kommando (se nedan).

Man kan också kolla om en server är igång genom att se vad systemet svarar när man ger kommandon till servern, t.ex. när man startar den. Om servern redan är igång när man försöker starta den eller något fel uppstår vid starten så får man ett felmeddelande. Får man inget felmeddelande har servern vanligen startat korrekt.

För att följa system-loggen kan man skriva:
sudo tail -F /var/log/syslog


Vad är inet?

inet är en "super-server" som lyssnar på de portar den tilldelats och fördelar inkommande anrop på datorns egentliga servrar.

När man installerar Linux-servrar får man ibland ange om man vill att servern skall arbeta "fristående" eller via inet. Om en servers arbetsbelastning är låg kan det vara effektivt att låta servern arbeta via inet, eftersom servern då endast är aktiv när den blir anropad. inetd är inet-serverns process ("inet-demonen");
Referenser: [1, 2, 3, 4, 5]


Byte från Ubuntu till Xubuntu

På en äldre dator kan det bli aktuellt att byta till en grafisk miljö som belastar datorn mindre. Det grundläggande kommandot för installation av Xubuntu är:
sudo apt-get install xubuntu-desktop
(Välj "xfce-session" från login-skärmen.)


Allmänt, fler länkar

När man inte har möjlighet att installera Ubuntu på det "vanliga" sättet via CD-spelaren kan man börja med att titta vilka förutsättningar för installation som ens dator har.

Här är några faktorer som avgör vilken installationsmetod som passar ens dator bäst:

1. Vilka "device" på ens dator är "bootbara"? (Vilken utrustning kan man starta datorn från?)
Installationen måste starta fran ett bootbart device. Lite ungefärligt kan man säga att interna hårddiskar, diskettstationer och moderna CD-spelare (åtminstone de som är tillverkade efter år 2000) brukar vara bootbara. Nätverkskort är ofta bootbara ("pxe-boot"). USB-portar är inte alltid bootbara.

På sin egen dator kan man ta reda på vilka device som är bootbara genom att öppna BIOS och titta under "boot-order". (Boot-order anger i vilken ordning datorn genomsöker sina device (den perifera utrustningen) efter en möjlighet att starta.) I vissa fall kan man göra device bootbara genom att uppdatera datorns BIOS.

Varning! Man måste veta exakt hur man gör (samt vara helt säker på att det nya BIOS man installerar passar datorn) innan man ger sig in på att uppdatera ("flasha") datorns BIOS. Installerar man fel BIOS kan man bli tvungen att ta ur BIOS-chipet och flasha om det i en annan dator. Att bara öppna BIOS och ändra start-ordningen skall däremot inte vara riskabelt så länge man noggrant läser meny-alternativen samt noterar vilka förändringar man gör. För att hoppa mellan menyer och alternativ i BIOS använder man vanligen pil-tangenterna samt bekräftar med vagnretur. (Om man lagt in ett lösenord i BIOS men glömt bort lösenordet brukar man kunna lösa problemet genom att öppna datorn, koppla ur knappcells-batteriet (och ev andra batterier) och starta om datorn.)

2. Hur skall man flytta majoriteten av filerna till klienten?
Installationen kräver att man kopierar filer till klienten. Den totala mängden av dessa filer motsvarar ungefär en CD-skiva. Skall det t.ex. ske via nätverksanslutning, usb-port eller blir man t.o.m. tvungen att flytta över sin hårddisk till en annan dator och förbereda installationen där. (I länkarna nedan beskrivs hur man gör. På detta sätt kan man alltså skapa vad som liknar en s.k. "OEM-installation".)

3. Fungerar datorn nu?
Har man redan ett fungerande operativsystem i klienten så föredar man kanske att t.ex. göra en partition av hårddisken bootbar och installera Ubuntu därifrån. (Se The CD-image approach)

4. Vilken övrig utrustning har jag tillgång till?
Har man inte tillgång till någon annan dator som använder Linux kanske man väljer att genomföra pxe-installation geonom att låta en Windows-dator agera server. Man kan även prova att geomföra pxe-installation som beskrivits längre upp på den här sidan fast med servrarna installerade på ett system som körs via Ubuntu Live-CD.

Man skall heller inte glömma "Wubi". Har man Windows i datorn kan man installera Ubuntu inom Windows utan att använda CD-spelaren.

Det finns många sätt att installera Ubuntu på datorer utan CD-spelare. Några av dessa beskrivs i länkarna. Rent allmänt kan man dock säga att pxe-boot, som beskrivits på den här sidan, är en beprövad metod för att installera Linux på datorer utan CD-spelare.
(pxe-boot kan även vara ett praktiskt alternativ om man skall installera samma operativsystem i flera datorer samtidigt.)




Alternativa installationsmetoder

Här beskrivs några alternativa installationsmetoder som kan användas om datorn saknar CD-spelare.

Installation via usb-port
Ett annat sätt som ibland används för att installera Ubuntu på netbook-datorer utan CD-spelare är att lägga innehåller på Live-CDn på en USB-sticka ("thumb drive"). Därefter kan man välja att köra Ubuntu eller installera Ubuntu från stickan. [Ref: 1, 2, 3]

Tillägg
Installation från USB-minne har blivit mycket vanligare och enklare. En guide finns här. Man går helt enkelt till Ubuntus egen sajt och följer instruktionerna för att skapa en Live-CD på en USB-sticka.
En faktor som gjort detta möjligt är att det numera är mycket vanligt att datorns USB-port ("USB-kontakten") är "bootbar". Det betyder att det går att starta datorn via programvara från USB-porten. För att kunna installera Ubuntu från ett USB-minne så måste datorns USB-port vara "bootbar".


Installation genom att flytta hårddisken
Man kan också prova att flytta hårddisken till en annan dator med CD-spelare och installera Ubuntu där. När man flyttar tillbaka hårddisken till den ursprungliga datorn brukar det ofta gå att få systemet att fungera. Om hårdvarans utformning skiljer kan man naturligtvis bli tvungen att installera nya drivrutiner. Startar man datorn med det s.k. återställnings­alternativet och väljer x-recovery kan detta vara en början på installation av rätt drivrutiner för grafiken. Ett alternativ till x-recovery är kommandot:
sudo dpkg-reconfigure xserver-xorg
För att ladda ner drivrutiner innan grafiken fungerar kan man använda kommandot wget eller en webläsare som fungerar i kommandoradsmiljön, t.ex. lynx.

Montera image-kopian
Om datorn kör Windows kan man installera ett program som gör det möjligt att montera iso-avbildningar, t.ex. Daemon tools. Vissa av dessa program (t.ex. Daemon tools) gör det möjligt att boota datorn från CD-avbildningen.




Här står lite om Ubuntus systemkrav.

Länkar:
Installation utan CD [1, 2, 3]
Installation via Windows-server [1]


Wiki (Ubuntu-se.org)
Ubuntu - Grunder: En introduktion till Ubuntu
Installation där viss hårdvara saknas. (Ubuntu - Installation, partitionering. Grunder.)

Är det oklart hur man gör, fråga gärna vidare här.




[js: jdstiles; CSS: Webcredible]
Sidan underhålls av ycc, en av Ubuntu Sveriges medlemmar. Innehåll och design avspeglar nödvändigtvis inte Ubuntu Sveriges uppfattning.

vDaemon=bootpd
vCd=/var/lib/tftpboot

Start () {
    echo -n "Starting $vDaemon: default current directory is at $vCd ... :"
    /usr/sbin/$vDaemon -d 4 -c $vCd >/tmp/$vDaemon.log 2>/tmp/$vDaemon.err &
    sleep 1
    Status
}

Stop () {
        echo "Stopping $vDaemon ..."
    kill `pidof $vDaemon`
}

Reload () {
    if [ "`pidof $vDaemon`" ] ; then
        echo "Reloading config file for $vDaemon ..."
        kill -HUP "`pidof $vDaemon`"
    fi
    Status
}

Status () {
    vPid="`pidof $vDaemon`"
    if [ "$vPid" ] ; then
        echo "$vDaemon running, pid=$vPid"
    else
        echo "$vDaemon not running"
    fi
}

case "$1" in
    start)      Start ;;
    stop)       Stop ;;
    reload) Reload ;;
    restart) Stop ; sleep 2; Start ;;
    status) Status ;;
    ""|*) echo `basename $0` parameter: start stop status reload or restart ;;
esac

[källa]
Upp