Ist es möglich, Ubuntu über das Netzwerk zu installieren?

11

Ich möchte Ubuntu für fast 120 Benutzer installieren. Die Verwendung von USB und Laufwerken ist jedoch sehr schwierig.

Irgendwelche Vorschläge?

Vishnu Murali
quelle

Antworten:

11

Sie können ein Ubuntu-System installieren (normalerweise ein Ubuntu-Serversystem, muss es aber nicht sein) und es dann als Server zum PXE-Booten und Installieren der anderen verwenden. Die BIOS auf den Clients (auf denen Sie Ubuntu installieren möchten) müssen PXE (dh Netzwerkstart ) unterstützen, damit dies funktioniert. Aber die meisten BIOS tun dies heutzutage.

Sie sollten dies auch mit einem Nicht-Ubuntu-System als Host tun können, wenn Sie dieses bereits eingerichtet haben und wissen, wie Sie die erforderlichen Server auf Ihrem Nicht-Ubuntu-System konfigurieren.


Der Hilfewiki-Artikel zu PXEInstallServer Ubuntu erklärt, wie Sie ein Ubuntu-System als PXE-Server einrichten und Ubuntu auf anderen Systemen von dort aus installieren. Es wäre schwierig, die wichtigsten Punkte zusammenzufassen - die Details sind sehr wichtig. Also hier ist das Ganze (mit geringfügigen Formatierungs- und Interpunktionsänderungen):

Einführung

Dies führt Sie durch die Ausführung eines Ubuntu-Servers als PXE-Installationsserver. Sie müssen einen DHCP-Server in Ihrem Netzwerk ausführen, nicht unbedingt diesen Server, aber Sie benötigen einen.

Benötigte Pakete installieren

Sie müssen die folgenden Pakete installieren: inetutils-inetd (zuvor netkit-inetd) tftpd-hpa(siehe Installieren von Software ).

  • Für Ubuntu 10.04 gibt es einen Fehler mit inetutils-inetd. Es hört nur auf IPv6 und nicht auf IPv4. Als schnelle Problemumgehung können Sie openbsd-inetdstattdessen verwenden.

Wenn dies auch Ihr DHCP-Server sein soll, installieren Sie den im folgenden Paket enthaltenen DHCP-Server: dhcp3-server(siehe Installieren von Software ).

Konfigurieren Sie tftpd-hpa

Sie müssen tftpd-hpa anweisen, den Daemon zu starten (was standardmäßig nicht der Fall ist). Bearbeiten Sie dazu die /etc/default/tftpd-hpaDatei und stellen Sie sicher, dass sie ungefähr so ​​aussieht:

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

Führen Sie dann das Startskript aus, um den Dämon tatsächlich zu starten:

/etc/init.d/tftpd-hpa restart

Konfigurieren Sie dhcpd

Wenn Ihr pxe-Server auch Ihr DHCP-Server ist, benötigen Sie Folgendes /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";
}

Wenn Sie einen vorhandenen DHCP-Server haben, sollten Sie ihn wie folgt auf Ihren pxe-Server verweisen:

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

Stellen Sie sicher, dass Sie Ihren DHCP-Server neu starten, damit die Änderungen wirksam werden:

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

Konfigurieren Sie tftpd-hpa

tftpd-hpaheißt ab inetd. Die Optionen, die tftpd-hpa beim Start übergeben werden, befinden sich somit in/etc/inetd.conf

Die Standardeinstellungen sind für uns in Ordnung, Sie /etc/inetd.confsollten einen Eintrag wie diesen haben:

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

(Obwohl Sie benötigen diese Datei bearbeiten und ersetzen udpmit udp4, wie tftpd-hpajetzt scheint eine IPv6 - Adresse zu erwarten.)

Jetzt kopieren wir die benötigten Dateien von der Ubuntu-CD:

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

Wenn Ihr DHCP-Server korrekte Netzwerkinformationen ausgibt und Ihre pxe-Clients über Netzwerkzugriff verfügen, können Sie zu diesem Zeitpunkt eine Ubuntu-Installation über Internet-Repositorys durchführen.

Ich möchte jedoch noch ein wenig weiter gehen und alles vom Installationsserver installieren sowie einige der zu installierenden Pakete anpassen.

Installieren Sie Apache

Derzeit werden NFS-Installationen nicht gut unterstützt (bitte korrigieren Sie mich, wenn ich falsch liege), daher werden wir über http installieren. Dazu benötigen wir auch einen Webserver auf unserem Installationsserver: Installieren Sie das folgende Paket: apache(siehe Installieren von Software ).

Ubuntu-Dateien kopieren

Erstellen Sie ein Ubuntu-Verzeichnis unter dem Dokumentenstamm Ihres frisch installierten Apache und kopieren Sie den gesamten Inhalt der alternativen Ubuntu-CD in dieses Verzeichnis:

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

Anpassen der Installation

Es gibt ein Paket namens, system-config-kickstartdas ein GUI-Frontend zum Erstellen von Kickstart-Dateien ist. Die Kickstart-Datei teilt dem Installationsprogramm mit, woher die Pakete stammen, was installiert werden soll und eine Reihe weiterer nützlicher Einstellungen. Weitere Informationen finden Sie unter KickstartCompatibility .

Dieses Paket muss nicht auf Ihrem Installationsserver installiert sein, es kann sich irgendwo auf einem praktischen Ubuntu-Desktop befinden.

Erstellen Sie eine benutzerdefinierte ks.cfgmit system-config-kickstart, geben Sie HTTP unter "Installationsmethode" an. Geben Sie die IP Ihres Installationsservers an und erstellen Sie das HTTP-Verzeichnis /ubuntu/. Speichern Sie die Datei und kopieren Sie sie auf Ihren Installationsserver unter /var/www/html/.

Eine sehr minimalistische `ks.cfg-Datei, die nur die Installationsdateien auf dem Installationsserver verwendet und alle anderen Fragen stellt, könnte folgendermaßen aussehen:

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

Verwenden Sie Ihre ks.cfg

Damit Ihre Ubuntu-Netzwerkinstallation Ihre Kickstart-Datei verwenden kann, müssen Sie ihr mitteilen, wo sie zu finden ist. Bearbeiten /var/lib/tftpboot/pxelinux.cfg/defaultund ks=http://<installserver>/ks.cfgzur Anhängezeile hinzufügen . Es sollte dann ungefähr so ​​aussehen (beachten Sie, dass die Anhängezeile eine Zeile ist):

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 [und vermutlich späteren Versionen, einschließlich aller Versionen, die Sie wahrscheinlich verwenden] 1 wurde die Standarddatei in Includes aufgeteilt. Die Anhängezeile finden Sie 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

Booten und installieren

Sie sollten nun in der Lage sein, einen anderen PC auf dem LAN über das Netzwerk zu starten und Ubuntu automatisch installieren zu lassen. :) Sie können die tftp- und http-Installationspunkte variieren, um mehrere Versionen von Ubuntu für die Installation in Ihrem Netzwerk verfügbar zu haben.

Verwenden Sie die CD (oder .iso) direkt

Sie können dies auch erreichen, ohne Dateien irgendwohin zu kopieren. Sie können die CD (oder die ISO-Datei) bereitstellen und dann mit der --bindOption zusätzliche Bereitstellungen vornehmen. Der Vorteil ist, dass Sie die CD (oder die ISO-Datei) aktualisieren können, ohne die Installationsserverdateien aktualisieren zu müssen.

Nach dem Mounten der CD (oder der ISO- /media/cdrom/Datei ) können Sie die Ubuntu-Dateien beispielsweise in das Webverzeichnis einbinden:

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

Ebenso können Sie dasselbe tun mit tftproot:

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

Wenn Sie ein pxelinux.cfgVerzeichnis mit einer geeigneten Standarddatei erstellen, können Sie dieses über der bereitgestellten CD bereitstellen, sodass der TFTP-Server Ihre Datei pxelinux.cfg / default ausgibt. Zum Beispiel könnte ein pxelinux.cfgVerzeichnis in ~/pxelinux.cfgwie folgt gemountet werden:

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

(Beachten Sie, dass in dem obigen Beispiel die tatsächlichen Punkt des Verzeichnisses montiert als würde am Ende , /var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfgweil das pxelinux.cfgist ein symbolischer Link auf der CD (oder .iso)).

- PXEInstallServer mit geringfügigen Änderungen in Formatierung, Zeichensetzung und Großschreibung, hauptsächlich zur Anpassung an das Ask Ubuntu-Format.

Dieser Artikel stammt aus dem Ubuntu-Dokumentations-Wiki . Es wurde von "Mitwirkenden am Ubuntu-Dokumentations-Wiki" geschrieben und ist unter CC-BY-SA 3.0 lizenziert , was die Aufnahme hier mit korrekter Zuordnung ermöglicht.

1 [kursiver Text in Klammern] stammt nicht vom Original; Es ist mein Kommentar.


Beachten Sie den Unterschied zwischen dieser Methode und der von Mitch vorgeschlagenen Methode . Bei dieser Methode wird von einem CD / DVD- oder USB-Flash-Laufwerk gebootet, das das System dann über ein Netzwerk installiert. Standardmäßig ist dieses Netzwerk das Internet. Damit diese Methode für die Installation auf Hunderten von Computern in einem Netzwerk sinnvoll ist, möchten Sie wahrscheinlich ein Ubuntu-Repository in Ihrem Netzwerk erstellen, hosten und Ihre Installationen darauf verweisen.

Der dafür erforderliche Aufwand und die dafür erforderliche Infrastruktur sind vergleichbar mit dem, was erforderlich wäre, um die Maschinen wie oben beschrieben mit PXE zu starten. Auf diese Weise können Sie zwar Ihre Anforderungen erfüllen, ich möchte Sie jedoch dazu ermutigen, das Booten von PXE in Betracht zu ziehen, wenn Sie wirklich ohne "physische Medien" installieren müssen.

Eliah Kagan
quelle
Muss ich Einstellungen in meinem Router ändern?
Enkouyami
4

Sie können dies tun, indem Sie die Net Install-Methode verwenden, um eine Installation von Ubuntu über das Netzwerk zu starten. beschrieben unter Netboot Install

Netzwerkinstallationsprogramm

Mit dem Netzwerkinstallationsprogramm können Sie Ubuntu über das Netzwerk installieren. Dies ist beispielsweise nützlich, wenn Sie einen alten Computer mit einer nicht bootfähigen CD-ROM oder einen Computer haben, auf dem das auf der grafischen Benutzeroberfläche basierende Installationsprogramm nicht ausgeführt werden kann, da diese nicht die Mindestanforderungen für die Live-CD erfüllen / DVD oder weil sie eine zusätzliche Konfiguration erfordern, bevor der grafische Desktop verwendet werden kann, oder wenn Sie Ubuntu auf einer großen Anzahl von Computern gleichzeitig installieren möchten. Ubuntu

Laden Sie das Netzwerkinstallationsprogramm für 12.04 LTS herunter

Laden Sie das Netzwerkinstallationsprogramm für 13.04 herunter

Mitch
quelle
4

Es gibt so viele Möglichkeiten, dies zu erreichen.

1 - Netboot

Sie müssen die Hostnamen und IP-Adressen in diesem HOWTO für Ihr eigenes Setup ändern. Die hier beschriebenen Prinzipien gelten für andere DHCP- und TFTP-Server als die unten beschriebenen. Die Verwendung einer alternativen Serversoftware bleibt dem Leser als Übung überlassen.

Anweisungen zur Verwendung eines Windows-Computers als TFTP- und DHCP-Server finden Sie unter Installation / WindowsServerNetboot.

Mit diesem HOWTO können Sie das Installationsprogramm ausführen. Wenn Sie automatisierte oder unbeaufsichtigte Installationen von Ubuntu durchführen möchten, lesen Sie Installation / LocalNet.

2 - LocalNet

Diese Installationsmethode verwendet DHCP / BOOTP, TFTP und FTP / HTTP, um die Installationsquellen abzurufen. Das Installationsprogramm selbst besteht aus einem Linux-Kernel und einem initrd. Diese Dateien werden über den DHCP / TFTP-Startvorgang übertragen.

Der Rest der Installationsquellen kann über FTP oder HTTP übertragen werden. Wenn der Zielcomputer über einen Internetzugang verfügt, können diese Quellen direkt von einem Ubuntu-Spiegel abgerufen werden. Alternativ können Sie eine der Installations-ISOs herunterladen, sie in einem Loopback bereitstellen und mit einem lokalen HTTP / FTP-Server bereitstellen.

3 - NetworkConsole

Booten von einer CD (könnte auch TFTP oder ähnliches sein) und Installieren des Systems über SSH.

4 - Schnellinstallation über SSH

Eine Kurzanleitung zur Installation von Hardy Ubuntu 12.04 auf einem dedizierten Server über ssh.

Schauen Sie sich die vollständige Dokumentation der Server- und Netzwerkinstallationen an

Achu
quelle
1

Was bei der Installation von Ubuntu 18.04 LTS für mich funktioniert hat, basierte auf einer Anleitung von Isabel Castello , die anscheinend auf der LocalNet-Anleitung aus dem Ubuntu-Wiki basiert , für mich jedoch viel lesbarer und verständlicher war.

Voraussetzungen

Sie müssen sich in einem Netzwerk mit 3 Knoten befinden:

  1. Ein grundlegender DHCP-Router .
  2. Der Zielserver, auf dem Sie Ubuntu installieren möchten. Es muss mit einem Kabel (nicht WiFi) mit dem Router verbunden sein . Und natürlich Unterstützung für das Booten des Netzwerks im BIOS.
  3. Ein Source - Server, die anfänglichen Installationsdateien und Dienstleistungen dienen. In diesem Handbuch wird davon ausgegangen, dass es sich auch um Ubuntu handelt. andere Betriebssysteme sind sicherlich auch möglich, aber Befehle wären offensichtlich anders.

Schritte

  1. Stellen Sie sicher, dass der Netzwerkstart im BIOS des Ziels aktiviert ist .

    Das Aufrufen des BIOS erfolgt häufig durch Drücken oder Halten Deloder F2beim Starten des Computers. Alternativ können Sie durch Drücken von F12häufig die Startreihenfolge herstellerspezifisch ändern, was hilfreich sein kann.

  2. Finden Sie die folgenden Werte heraus:

    (Möglicherweise möchten Sie die DHCP-Einstellungen auf dem Router durchsuchen / ändern , um einige davon herauszufinden. Wenn Sie es auch schaffen, beim Booten des Zielcomputers in die Netzwerkstartphase einzutreten , wird wahrscheinlich mindestens die MAC-Adresse angezeigt kann es notieren.)

    • die MAC-Adresse des Ziels - Eigenschaft seiner Netzwerkkarte,
    • die IP-Adresse des Ziels - vom Router zugewiesen ,
    • die Gateway-IP - mit anderen Worten, IP des Routers,
    • Die Subnetz- / Netzwerkmaske - normalerweise in den Netzwerkeinstellungen der Quelle und / oder des Routers enthalten .
  3. Installieren und Konfigurieren von tftp auf der Quelle - 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
    

    Wenn grepoben ein anderer Pfad angezeigt wird, passen Sie die Werte in den in diesem und im nächsten Schritt aufgeführten Befehlen entsprechend an.

  4. Installation, Konfiguration und führen Sie bootp , auch auf der Quelle - Host:

    Hinweis: Ersetzen Sie die $TARGET_MACWerte usw. durch die in Schritt 2 oben angegebenen Werte. Die $TARGET_MACAdresse sollte mit Doppelpunkten versehen sein, z . B.: 00:00:39:2B:54:B5Und $SUBNET_MASKgepunktet, z 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. Starten Sie den Zielcomputer neu , während Sie sicherstellen, dass die Netzwerkstartfunktion aktiviert ist (drücken Sie F12bei Bedarf oder nichts oder was auch immer Ihr BIOS sonst benötigt).

    Ein textbasiertes interaktives Ubuntu 18.04-Installationsprogramm sollte jetzt auf dem Zielcomputer gestartet werden. Fahren Sie fort, als ob Sie Ubuntu normal installieren würden.

  6. Extra: Aus Sicherheitsgründen sollten Sie nach Abschluss der Installation sicherstellen, dass die Netzwerkstartfunktion im BIOS des Ziels wieder deaktiviert ist.

Hoffe das hilft!

akavel
quelle
0

Cobbler ist ein Linux-Installationsserver, der die schnelle Einrichtung von Netzwerkinstallationsumgebungen ermöglicht. Es klebt zusammen und automatisiert viele zugehörige Linux-Aufgaben, sodass Sie beim Bereitstellen neuer Systeme und in einigen Fällen beim Ändern vorhandener Systeme nicht zwischen vielen verschiedenen Befehlen und Anwendungen wechseln müssen. Cobbler kann bei der Bereitstellung, Verwaltung von DNS und DHCP, Paketaktualisierungen, Energieverwaltung, Konfigurationsverwaltungs-Orchestrierung und vielem mehr helfen.

Blue Ray
quelle