È possibile installare Ubuntu attraverso la rete?


Risposte:


11

È possibile installare un sistema Ubuntu (in genere un sistema Ubuntu Server, ma non è necessario), quindi utilizzarlo come server per l'avvio PXE e installare gli altri. I BIOS sui client (dove si desidera installare Ubuntu) devono supportare PXE (ad es. Avvio di rete ) affinché funzioni. Ma la maggior parte dei BIOS lo fa, in questi giorni.

Dovresti essere in grado di farlo anche con un sistema non Ubuntu come host, se lo hai già impostato e sai come configurare i server necessari sul tuo sistema non Ubuntu.


L' articolo wiki della guida di Ubuntu PXEInstallServer spiega come configurare un sistema Ubuntu come server PXE e come installare Ubuntu su altri sistemi da esso. Sarebbe difficile riassumere i punti principali: i dettagli sono molto importanti. Quindi ecco tutto (con modifiche minori di formattazione e punteggiatura):

introduzione

Questo ti guiderà attraverso l'esecuzione di un server Ubuntu come server di installazione PXE. Dovrai eseguire un server DHCP sulla tua rete, non necessariamente questo server ma ne hai bisogno.

Installazione dei pacchetti necessari

Dovrai installare i seguenti pacchetti: inetutils-inetd (precedentemente netkit-inetd), tftpd-hpa(vedi Installazione del software ).

  • Per Ubuntu 10.04, c'è un bug con inetutils-inetd. Ascolta solo su IPv6 e non su IPv4. Come soluzione rapida, puoi openbsd-inetdinvece usare .

Se anche questo sarà il tuo server DHCP, installa il server dhcp contenuto nel pacchetto seguente: dhcp3-server(vedi Installazione del software ).

Configura tftpd-hpa

Dovrai dire a tftpd-hpa di avviare il suo demone (cosa che di default non lo fa). Per fare ciò, modifica il /etc/default/tftpd-hpafile e assicurati che assomigli a questo:

#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Quindi, esegui lo script di avvio per avviare effettivamente il demone:

/etc/init.d/tftpd-hpa restart

Configura dhcpd

Se il tuo server pxe è anche il tuo server dhcp, avrai bisogno di qualcosa del genere in /etc/dhcp3/dhcpd.conf:

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.100 192.168.0.200;
        filename "pxelinux.0";
}

Se hai un server dhcp esistente, dovresti puntarlo al tuo server pxe facendo qualcosa del tipo:

subnet 192.168.0.0 netmask 255.255.255.0 {
    <other config here>
    filename "pxelinux.0";
    next-server <pxe host>;
}

Assicurati di riavviare il tuo server DHCP per rendere effettive le modifiche:

sudo /etc/init.d/dhcp3-server restart

Configura tftpd-hpa

tftpd-hpaviene chiamato da inetd. Le opzioni passate tftpd-hpa all'avvio si trovano quindi in/etc/inetd.conf

Le impostazioni predefinite vanno bene per noi, /etc/inetd.confdovresti avere una voce come questa:

tftp    dgram   udp    wait    root    /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

(Anche se potrebbe essere necessario modificare questo file e sostituirlo udpcon udp4, come tftpd-hpasembra aspettarsi un indirizzo IPv6 ora.)

Ora copieremo i file necessari dal CD di Ubuntu:

sudo cp -r /media/cdrom/install/netboot/* /var/lib/tftpboot/

Se il tuo server DHCP fornisce informazioni di rete corrette e i tuoi client pxe avranno accesso alla rete, a questo punto sarai in grado di fare un'installazione Ubuntu usando i repository di Internet.

Voglio andare un po 'oltre e installare tutto dal server di installazione, nonché personalizzare alcuni dei pacchetti da installare.

Installa apache

Attualmente le installazioni di nfs non sono ben supportate (per favore correggimi se sbaglio), quindi installeremo su http. Per questo abbiamo bisogno di un server web anche sul nostro server di installazione: installa il seguente pacchetto: apache(vedi Installazione del software ).

Copia dei file Ubuntu

Crea una directory ubuntu sotto la radice del documento apache appena installata e copia tutto il contenuto del CD alternativo di Ubuntu in quella directory:

mkdir /var/www/ubuntu
cp -r /media/cdrom/* /var/www/ubuntu/

Personalizzazione dell'installazione

Esiste un pacchetto chiamato system-config-kickstartche è un frontend GUI per la creazione di file kickstart. Il file kickstart indica all'installer da dove ottenere i suoi pacchetti, cosa installare e una serie di altre impostazioni utili. Vedi Compatibilità kickstart per maggiori informazioni.

Questo pacchetto non deve essere installato sul server di installazione, può trovarsi su un comodo desktop Ubuntu da qualche parte.

Crea un personalizzato ks.cfgcon system-config-kickstart, assicurati di specificare HTTP in "Metodo di installazione". Fornire l'IP del server di installazione e creare la directory HTTP /ubuntu/. Salvare il file e copiarlo sul server di installazione in /var/www/html/.

Un file `ks.cfg molto minimalista che usa solo i file di installazione sul server di installazione e che chiede tutte le altre domande potrebbe apparire così:

install
url --url http://192.168.0.1/ubuntu/

Usa il tuo ks.cfg

Affinché la tua rete Ubuntu installi per usare il tuo file kickstart, devi dirgli dove trovarlo. Modifica /var/lib/tftpboot/pxelinux.cfg/defaulte aggiungi ks=http://<installserver>/ks.cfgalla riga di aggiunta . Dovrebbe quindi assomigliare a questo (nota che la riga di append è una riga):

label linux
        kernel ubuntu-installer/i386/linux
        append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16432

root = / dev / rd / 0 rw -

In Jaunty [e presumibilmente versioni successive, inclusa qualsiasi versione che stai probabilmente utilizzando] 1, il file predefinito è stato suddiviso in include. La riga di append è disponibile in /ubuntu-installer/i386/boot-screens/text.cfg:

label install
        menu label ^Install (from my http server)
        menu default
        kernel ubuntu-installer/i386/linux
        append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet

Avvia e installa

Ora dovresti essere in grado di avviare un altro PC sulla rete tramite la rete e farlo installare automaticamente Ubuntu. :) Puoi variare i punti di installazione tftp e http per avere più versioni di Ubuntu disponibili per l'installazione sulla tua rete.

Utilizzo diretto del CD (o .iso)

Puoi anche ottenere quanto sopra senza copiare alcun file ovunque. È possibile montare il CD (o .iso) e quindi eseguire ulteriori montaggi con l' --bindopzione. Il vantaggio è che è possibile aggiornare il CD (o .iso) senza la necessità di aggiornare i file del server di installazione.

Ad esempio, dopo aver montato il CD (o .iso) su /media/cdrom/, è possibile montare i file ubuntu nella directory web:

mount --bind /media/cdrom/ /var/www/ubuntu/

Allo stesso modo, puoi fare lo stesso con tftproot:

mount --bind /media/cdrom/install/netboot/ /var/lib/tftpboot/

Se si dovesse creare una pxelinux.cfgdirectory con un file predefinito appropriato, è possibile montarlo sulla parte superiore del CD montato, in modo che il server tftp distribuisca il file pxelinux.cfg / default. Ad esempio, una pxelinux.cfgdirectory in ~/pxelinux.cfgpotrebbe essere montata in questo modo:

mount --bind ~/pxelinux.cfg /var/lib/tftpboot/pxelinux.cfg

(Si noti che nell'esempio sopra, il punto di montaggio effettivo della directory finirà come /var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfgperché pxelinux.cfgè un collegamento simbolico sul CD (o .iso)).

- PXEInstallServer , con lievi modifiche di formattazione, punteggiatura e maiuscole, principalmente per adattarsi al formato Ask Ubuntu.

L'articolo è tratto dalla wiki della documentazione di Ubuntu . È stato scritto da "Contributors to the Ubuntu wiki wiki" ed è concesso in licenza in base a CC-BY-SA 3.0 , che consente l'inclusione qui, con la corretta attribuzione.

1 [Testo in corsivo tra parentesi] non proviene dall'originale; è il mio commento.


Nota la differenza tra questo metodo e il metodo suggerito da Mitch . Tale metodo prevede l'avvio da un CD / DVD o un'unità flash USB, che quindi installa il sistema su una rete. Per impostazione predefinita, questa rete è Internet; perché quel metodo sia ragionevole per l'installazione su centinaia di macchine su una rete, probabilmente vorrai creare e ospitare un repository Ubuntu sulla tua rete e puntare le tue installazioni a quello.

Lo sforzo e l'infrastruttura necessari per farlo è paragonabile a quanto sarebbe necessario per avviare PXE le macchine come descritto sopra. Quindi, mentre in questo modo potrebbe soddisfare le tue esigenze, ti incoraggio a prendere in considerazione l'avvio di PXE se hai davvero bisogno di installare senza "supporti fisici".


Dovrei modificare le impostazioni nel mio router?
Enkouyami,

4

Puoi farlo usando il metodo net install avviando un'installazione di Ubuntu sulla rete. descritto in Netboot Install

Programma di installazione di rete

Il programma di installazione di rete ti consente di installare Ubuntu sulla rete. Ciò è utile, ad esempio, se si dispone di un vecchio computer con un CD-ROM non avviabile o di un computer che non è in grado di eseguire il programma di installazione basato su interfaccia grafica, perché non soddisfano i requisiti minimi per il CD live / DVD o perché richiedono una configurazione aggiuntiva prima di poter utilizzare il desktop grafico o se si desidera installare Ubuntu su un gran numero di computer contemporaneamente. Ubuntu

Scarica il programma di installazione di rete per 12.04 LTS

Scarica il programma di installazione di rete per 13.04


4

Ci sono così tanti modi per farlo.

1 - Netboot

È necessario modificare i nomi host e gli indirizzi IP in questo HOWTO per la propria configurazione. I principi qui descritti sono applicabili ad altri server DHCP e TFTP diversi da quelli descritti di seguito; l'utilizzo di un software server alternativo viene lasciato come esercizio per il lettore.

Per istruzioni su come utilizzare un computer Windows come server TFTP e DHCP, vai su Installazione / WindowsServerNetboot.

Questo HOWTO ti consentirà di eseguire il programma di installazione; se si desidera eseguire installazioni automatiche o non presidiate di Ubuntu, consultare Installazione / LocalNet.

2 - LocalNet

Questo metodo di installazione utilizza DHCP / BOOTP, TFTP e FTP / HTTP per ottenere le fonti di installazione. L'installer stesso è composto da un kernel Linux e un initrd. Questi file vengono trasferiti tramite il processo di avvio DHCP / TFTP.

Il resto delle fonti di installazione può essere trasferito via FTP o HTTP. Se la macchina target ha accesso a Internet, queste fonti potrebbero essere estratte direttamente da un mirror di Ubuntu. In alternativa, è possibile scaricare una delle ISO di installazione, collegarle in loop-back e servirle con un server HTTP / FTP locale.

3 - NetworkConsole

Avvio da un CD (potrebbe essere anche TFTP o simile) e installazione del sistema su SSH.

4 - Installazione rapida su SSH

Una guida rapida per l'installazione di Hardy Ubuntu 12.04 su un server dedicato su ssh.

Dai un'occhiata alla documentazione completa di Server e installazioni di rete


1

Ciò che ha funzionato per me durante l'installazione di Ubuntu 18.04 LTS è stato basato su una guida di Isabel Castello , che sembra basata sulla guida LocalNet della wiki di Ubuntu , ma era molto più leggibile e comprensibile per me.

Prerequisiti

Devi essere su una rete con 3 nodi:

  1. Un router DHCP di base .
  2. Il server di destinazione , dove si desidera installare Ubuntu. Deve essere collegato al router con un cavo (non WiFi). E ovviamente ha il supporto per l'avvio di rete nel BIOS.
  3. Un server di origine , che servirà i file e i servizi di installazione iniziale. Questa guida presuppone che sia anche Ubuntu; anche altri sistemi operativi sono sicuramente possibili, ma i comandi sarebbero ovviamente diversi.

passi

  1. Assicurati di abilitare Network Boot nel BIOS di destinazione .

    L'accesso al BIOS viene spesso eseguito tenendo premuto Delo F2all'avvio della macchina. In alternativa, la pressione F12spesso consente di modificare la sequenza di avvio in un modo specifico del fornitore, il che può essere d'aiuto.

  2. Scopri i seguenti valori:

    (Potresti voler sfogliare / modificare le impostazioni DHCP sul router per scoprirne alcune. Inoltre, se riesci ad accedere allo stage Network Boot all'avvio del computer di destinazione , probabilmente mostrerà almeno l' indirizzo MAC , quindi tu posso annotarlo.)

    • l' indirizzo MAC del target - proprietà della sua scheda di rete,
    • l' indirizzo IP del target - assegnato dal router ,
    • l' IP del gateway - in altre parole, l'IP del router,
    • la subnet / maschera di rete , generalmente presente nelle impostazioni di rete del sorgente e / o del router .
  3. Installare e configurare TFTP sulla fonte host:

    $ sudo apt-get install tftpd-hpa
    $ grep TFTP_DIRECTORY /etc/default/tftpd-hpa 
    TFTP_DIRECTORY="/var/lib/tftpboot"
    $ wget http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz
    $ sudo tar xzvf netboot.tar.gz -C /var/lib/tftpboot/
    $ rm netboot.tar.gz
    

    Se quanto grepsopra mostra un percorso diverso, regolare i valori nei comandi elencati in questo e nel passaggio successivo di conseguenza.

  4. Installa, configura ed esegui bootp , anche sull'host di origine :

    Nota: sostituire i $TARGET_MACvalori ecc. Con i valori appropriati raccolti nel passaggio 2. sopra. L' $TARGET_MACindirizzo dovrebbe essere con due punti, ad es .: 00:00:39:2B:54:B5e $SUBNET_MASKpunteggiato, ad es 255.255.255.0.

    $ sudo apt-get install bootp
    $ vim ./bootptab
    client: ha="$TARGET_MAC": ip=$TARGET_IP: gw=$GATEWAY_IP: sm=$SUBNET_MASK: td=/: hd=/: bf=pxelinux.0
    $ sudo bootpd -d 4 -c /var/lib/tftpboot -s $PWD/bootptab
    
  5. Riavvia il computer di destinazione , assicurandoti che la funzione Network Boot sia abilitata (premi F12se necessario, o niente o qualsiasi altra cosa il tuo BIOS richieda).

    Un programma di installazione interattivo Ubuntu 18.04 basato su testo dovrebbe iniziare ora sul computer di destinazione. Continua come se l'installazione di Ubuntu fosse normale.

  6. Extra: per sicurezza, dopo aver terminato l'installazione, è necessario ripristinare la funzionalità di avvio di rete nel BIOS di destinazione su disabilitato.

Spero che questo ti aiuti!


0

Cobbler è un server di installazione Linux che consente una rapida configurazione degli ambienti di installazione di rete. Incolla e automatizza molte attività Linux associate in modo da non dover saltare tra i vari comandi e applicazioni durante l'implementazione di nuovi sistemi e, in alcuni casi, la modifica di quelli esistenti. Cobbler può aiutare con il provisioning, la gestione di DNS e DHCP, gli aggiornamenti dei pacchetti, la gestione dell'alimentazione, l'orchestrazione della gestione della configurazione e molto altro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.