Vorrei installare Ubuntu per quasi 120 utenti. Ma è molto difficile usare USB e unità.
Eventuali suggerimenti?
Vorrei installare Ubuntu per quasi 120 utenti. Ma è molto difficile usare USB e unità.
Eventuali suggerimenti?
Risposte:
È 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
(precedentementenetkit-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, puoiopenbsd-inetd
invece 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-hpa
file 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-hpa
viene chiamato dainetd
. Le opzioni passatetftpd-hpa
all'avvio si trovano quindi in/etc/inetd.conf
Le impostazioni predefinite vanno bene per noi,
/etc/inetd.conf
dovresti 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
udp
conudp4
, cometftpd-hpa
sembra 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-kickstart
che è 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.cfg
consystem-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/default
e aggiungiks=http://<installserver>/ks.cfg
alla 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'
--bind
opzione. 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.cfg
directory 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, unapxelinux.cfg
directory in~/pxelinux.cfg
potrebbe 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.cfg
perché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".
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
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
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.
Devi essere su una rete con 3 nodi:
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.
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.)
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 grep
sopra mostra un percorso diverso, regolare i valori nei comandi elencati in questo e nel passaggio successivo di conseguenza.
Installa, configura ed esegui bootp , anche sull'host di origine :
Nota: sostituire i $TARGET_MAC
valori ecc. Con i valori appropriati raccolti nel passaggio 2. sopra. L' $TARGET_MAC
indirizzo dovrebbe essere con due punti, ad es .: 00:00:39:2B:54:B5
e $SUBNET_MASK
punteggiato, 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
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.
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!
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.