Est-il possible d'installer Ubuntu via le réseau?

11

Je voudrais installer Ubuntu pour près de 120 utilisateurs. Mais il est très difficile d'utiliser des clés USB et des lecteurs.

Aucune suggestion?

Vishnu Murali
la source

Réponses:

11

Vous pouvez installer un système Ubuntu (généralement un système de serveur Ubuntu, mais ce n'est pas obligatoire), puis l'utiliser comme serveur pour démarrer PXE et installer les autres. Les BIOS sur les clients (sur lesquels vous souhaitez installer Ubuntu) doivent prendre en charge PXE (c'est-à-dire le démarrage réseau ) pour que cela fonctionne. Mais la plupart des BIOS le font de nos jours.

Vous devriez également pouvoir le faire avec un système non Ubuntu en tant qu'hôte, si vous l'avez déjà configuré et que vous savez comment configurer les serveurs nécessaires sur votre système non Ubuntu.


L' article aide wiki PXEInstallServer Ubuntu explique comment mettre en place un système Ubuntu en tant que votre serveur PXE, et comment installer Ubuntu sur d' autres systèmes d'elle. Il serait difficile de résumer les points principaux - les détails sont très importants. Alors, voici la chose (avec mineure mise en forme et des changements de ponctuation):

introduction

Cela vous guidera à travers l'exécution d'un serveur Ubuntu comme PXE serveur d'installation. Vous devez exécuter un serveur DHCP sur votre réseau, pas nécessairement ce serveur, mais vous faites un besoin.

Installation des paquets nécessaires

Vous aurez besoin d'installer les packages suivants: inetutils-inetd (précédemment netkit-inetd), tftpd-hpa(voir InstallingSoftware ).

  • Pour Ubuntu 10.04, il y a un bug avec inetutils-inetd. Il écoute uniquement sur IPv6, et non sur IPv4. Pour contourner ce problème rapide, vous pouvez utiliser à la openbsd-inetdplace.

Si cela va aussi être votre serveur DHCP, installez serveur dhcp contenu dans le package follwing: dhcp3-server(voir InstallingSoftware ).

Configurer tftpd-hpa

Vous aurez besoin de dire tftpd-hpa pour commencer son démon ( ce qui ne fonctionne pas par défaut). Pour ce faire, modifiez le /etc/default/tftpd-hpafichier, et assurez - vous qu'il ressemble à ceci:

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

Ensuite, exécutez le script de démarrage pour démarrer réellement le démon:

/etc/init.d/tftpd-hpa restart

Configurer dhcpd

Si votre serveur pxe est également votre serveur dhcp, vous aurez besoin de quelque chose comme ça dans /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";
}

Si vous avez un serveur dhcp existant, vous devez pointer vers votre serveur pxe en faisant quelque chose comme ce qui suit:

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

Assurez-vous de redémarrer votre serveur DHCP pour que les modifications prennent effet:

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

Configurer tftpd-hpa

tftpd-hpaest appelé depuis inetd. Les options passées à tftpd-hpa son démarrage se trouvent donc dans/etc/inetd.conf

Les valeurs par défaut sont très bien pour nous, vous /etc/inetd.confdevriez avoir une entrée comme celle-ci:

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

(Bien que vous ayez peut-être besoin de modifier ce fichier et de le remplacer udppar udp4, comme il tftpd-hpasemble attendre une adresse IPv6 maintenant.)

Nous allons maintenant copier les fichiers nécessaires à partir du CD Ubuntu:

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

Si votre serveur DHCP émet des informations réseau correctes et que vos clients pxe auront un accès réseau, vous pourrez alors effectuer une installation Ubuntu à l'aide de référentiels Internet.

Je veux cependant aller un peu plus loin et tout installer à partir du serveur d'installation ainsi que personnaliser certains des packages à installer.

Installer apache

Actuellement, les installations nfs ne sont pas bien prises en charge (veuillez me corriger si je me trompe), nous installerons donc via http. Pour cela, nous avons également besoin d'un serveur Web sur notre serveur d'installation: installez le package suivant: apache(voir Installation du logiciel ).

Copie de fichiers Ubuntu

Créez un répertoire ubuntu sous la racine du document de votre apache fraîchement installé et copiez tout le contenu du CD Ubuntu Alternate dans ce répertoire:

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

Personnalisation de l'installation

Il existe un package appelé system-config-kickstartqui est une interface graphique pour créer des fichiers kickstart. Le fichier kickstart indique à l'installateur où obtenir ses packages, ce qu'il faut installer et un certain nombre d'autres paramètres utiles. Voir KickstartCompatibility pour plus d'informations.

Ce paquet n'a pas besoin d'être installé sur votre serveur d'installation, il peut être quelque part sur un bureau Ubuntu pratique.

Créer une coutume ks.cfgavec system-config-kickstart, assurez - vous de spécifier HTTP sous la rubrique « Méthode d' installation ». Fournir l'adresse IP de l' installation serveur et rendre le répertoire HTTP /ubuntu/. Enregistrez le fichier et le copier sur votre serveur d' installation sous /var/www/html/.

Un fichier `ks.cfg très minimaliste qui utilise uniquement les fichiers d'installation sur le serveur d'installation et demande à toutes les autres questions pourraient ressembler à ceci:

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

Utilisez votre ks.cfg

Pour que votre réseau Ubuntu installer pour utiliser votre fichier Kickstart, vous devez lui dire où le trouver. Modifier /var/lib/tftpboot/pxelinux.cfg/defaultet ajouter ks=http://<installserver>/ks.cfgà la ligne append. Il devrait alors ressembler à ceci (notez que la ligne append est une ligne):

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 -

Dans Jaunty [et probablement les versions ultérieures, y compris toute version que vous utilisez probablement] 1 le fichier par défaut a été divisé en comprend. La ligne append se trouve dans /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

Démarrage et d'installation

Vous devriez maintenant être en mesure de démarrer un autre PC sur le réseau local sur le réseau et avoir installer Ubuntu automagiquement. :) Vous pouvez modifier le tftp et http installer des points d'avoir plusieurs versions d'Ubuntu disponibles à installer sur votre réseau.

Utilisation du CD (ou .iso) directement

Vous pouvez également réaliser ce qui précède sans copier aucun fichier partout. Vous pouvez monter le CD (ou .iso) puis effectuez supports supplémentaires avec l' --bindoption. L'avantage est que vous pouvez mettre à niveau le CD (ou .iso) sans avoir besoin de mettre à jour les fichiers d' installation du serveur.

Par exemple, après le montage du CD (ou .iso) à /media/cdrom/, vous pouvez monter les fichiers ubuntu dans le répertoire web:

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

De même, vous pouvez faire la même chose avec le tftproot:

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

Si vous deviez créer un pxelinux.cfgrépertoire avec un fichier par défaut approprié, vous pouvez monter que sur le dessus du CD monté, de sorte que le serveur tftp donne votre pxelinux.cfg / fichier par défaut. Par exemple, un pxelinux.cfgdans de répertoire ~/pxelinux.cfgpeut être monté comme celui - ci:

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

(Notez que dans l'exemple ci - dessus, le point du répertoire de montage réel finirait comme /var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfgparce que l' pxelinux.cfgest un lien symbolique sur le CD (ou .iso)).

- PXEInstallServer , avec une légère mise en forme, la ponctuation, et les changements de capitalisation, principalement pour accueillir ask Format Ubuntu.

Cet article provient du wiki de documentation d'Ubuntu . Il a été écrit par "Contributeurs au wiki de documentation Ubuntu" et est sous licence CC-BY-SA 3.0 , qui permet l'inclusion ici, avec une attribution appropriée.

1 [Le texte en italique entre crochets] n'est pas de l'original; c'est mon commentaire.


Notez la différence entre cette méthode et la méthode suggérée par Mitch . Cette méthode implique le démarrage à partir d'un CD / DVD ou d'un lecteur flash USB, qui installe ensuite le système sur un réseau. Par défaut, ce réseau est Internet; pour que cette méthode soit raisonnable pour l'installation sur des centaines de machines sur un réseau, vous voudrez probablement créer et héberger un référentiel Ubuntu sur votre réseau, et pointer vos installations vers cela.

L'effort et l'infrastructure nécessaires pour ce faire sont comparables à ceux qui seraient nécessaires pour démarrer PXE les machines comme décrit ci-dessus. Ainsi, bien que cette méthode puisse répondre à vos besoins, je vous encourage à envisager le démarrage PXE si vous avez vraiment besoin d'installer sans "support physique".

Eliah Kagan
la source
Aurais-je besoin de modifier les paramètres de mon routeur?
Enkouyami
4

Vous pouvez le faire en utilisant la méthode d'installation nette à partir d'une installation d'Ubuntu sur le réseau. décrit lors de l' installation de Netboot

Installateur réseau

Le programme d'installation réseau vous permet d'installer Ubuntu sur le réseau. Cela est utile, par exemple, si vous avez une vieille machine avec un CD-ROM non amorçable ou un ordinateur qui ne peut pas exécuter le programme d'installation basé sur une interface graphique, soit parce qu'ils ne répondent pas aux exigences minimales pour le CD live / DVD ou parce qu'ils nécessitent une configuration supplémentaire avant que le bureau graphique puisse être utilisé, ou si vous souhaitez installer Ubuntu sur un grand nombre d'ordinateurs à la fois. Ubuntu

Téléchargez le programme d'installation réseau pour 12.04 LTS

Téléchargez le programme d'installation réseau du 13.04

Mitch
la source
4

Il y a tellement de façons d'y parvenir.

1 - Netboot

Vous devez modifier les noms d'hôte et les adresses IP dans ce HOWTO pour votre propre configuration. Les principes décrits ici s'appliquent à d'autres serveurs DHCP et TFTP que ceux décrits ci-dessous; l'utilisation d'un autre logiciel serveur est laissée au lecteur comme exercice.

Pour obtenir des instructions sur l'utilisation d'un ordinateur Windows comme serveur TFTP et DHCP, accédez à Installation / WindowsServerNetboot.

Ce HOWTO vous permettra de lancer le programme d'installation; si vous souhaitez effectuer des installations automatisées ou sans assistance d'Ubuntu, voir Installation / LocalNet.

2 - LocalNet

Cette méthode d'installation utilise DHCP / BOOTP, TFTP et FTP / HTTP pour obtenir les sources d'installation. Le programme d'installation lui-même est constitué d'un noyau Linux et un initrd. Ces fichiers sont transférés via le processus de démarrage DHCP / TFTP.

Le reste des sources d'installation peuvent être transférés via FTP ou HTTP. Si la machine cible a accès à Internet pourrait être tiré de ces sources directement à partir d'un miroir Ubuntu. Sinon, vous pouvez télécharger un de l'installation de l'ISO, rebouclage les monter et les servir avec un serveur HTTP / FTP local.

3 - NetworkConsole

Amorcer depuis un CD (pourrait être TFTP ou similaire aussi) et l'installation du système via SSH.

4 - Installation rapide sur SSH

Un guide rapide pour l'installation sur un serveur dédié sur ssh Hardy Ubuntu 12.04.

Jetez un oeil à la documentation complète des installations de serveur et réseau

Achu
la source
1

Ce qui a fonctionné pour moi lors de l' installation d' Ubuntu 18.04 LTS a été basé sur un guide de Castello par Isabel , qui semble basé sur le guide localnet du wiki Ubuntu , mais il était beaucoup plus lisible et compréhensible pour moi.

Conditions préalables

Vous devez être sur un réseau avec 3 nœuds:

  1. Un routeur DHCP de base .
  2. Le serveur cible , sur lequel vous souhaitez installer Ubuntu. Il doit être connecté au routeur avec un câble (pas WiFi). Et évidemment, prendre en charge le démarrage réseau dans le BIOS.
  3. Un serveur source , qui servira les fichiers et services d'installation initiale. Ce guide suppose que c'est aussi Ubuntu; d'autres OS sont sûrement possibles aussi, mais les commandes seraient évidemment différentes.

Pas

  1. Assurez-vous d' activer le démarrage réseau dans le BIOS de la cible .

    L'entrée dans le BIOS se fait souvent en appuyant ou en maintenant enfoncé Delou au F2démarrage de la machine. Alternativement, appuyer F12souvent permet de modifier la séquence de démarrage d'une manière spécifique au fournisseur, ce qui peut être utile.

  2. Découvrez les valeurs suivantes:

    (Vous souhaiterez peut-être parcourir / modifier les paramètres DHCP du routeur pour en découvrir certains. De plus, si vous parvenez à entrer dans la phase d' amorçage réseau lors du démarrage de la machine cible , il affichera probablement au moins l' adresse MAC , donc vous peut le noter.)

    • l' adresse MAC de la cible - propriété de sa carte réseau,
    • l' adresse IP de la cible - qui lui est attribuée par le routeur ,
    • l' IP de la passerelle - en d'autres termes, l'IP du routeur,
    • le masque de sous-réseau / réseau - généralement trouvé dans les paramètres réseau de la source et / ou du routeur .
  3. Installez et configurez tftp sur l' hôte source :

    $ 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
    

    Si ce qui grepprécède montre un chemin différent, ajustez les valeurs dans les commandes répertoriées dans cette étape et l'étape suivante en conséquence.

  4. Installez, configurez et exécutez bootp , également sur l' hôte source :

    Remarque: remplacez les $TARGET_MACvaleurs etc. par des valeurs appropriées collectées à l'étape 2. ci-dessus. L' $TARGET_MACadresse doit être avec deux points, par exemple:, 00:00:39:2B:54:B5et en $SUBNET_MASKpointillés, par exemple 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. Redémarrez la machine cible , tout en vous assurant que la fonction d' amorçage réseau est activée (appuyez sur F12si nécessaire, ou rien, ou tout ce que votre BIOS requiert).

    Un programme d'installation interactif Ubuntu 18.04 basé sur du texte devrait démarrer maintenant sur la machine cible. Continuez comme si vous installiez Ubuntu normalement.

  6. Extra: pour plus de sécurité, après avoir terminé l'installation, vous devez vous assurer de basculer la fonction d' amorçage réseau dans le BIOS de la cible sur désactivée.

J'espère que cela t'aides!

Akavel
la source
0

Cobbler est un serveur d'installation Linux qui permet une configuration rapide des environnements d'installation réseau. Il colle et automatise de nombreuses tâches Linux associées afin que vous n'ayez pas à sauter entre de nombreuses commandes et applications lors du déploiement de nouveaux systèmes et, dans certains cas, de changer celles existantes. Cobbler peut vous aider avec l'approvisionnement, la gestion DNS et DHCP, les mises à jour de packages, la gestion de l'alimentation, l'orchestration de la gestion de la configuration et bien plus encore.

Blue Ray
la source