web-dev-qa-db-fra.com

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

J'aimerais installer Ubuntu pour près de 120 utilisateurs. Mais il est très difficile d’utiliser des clés USB et des clés USB.

Aucune suggestion?

11
Vishnu Murali

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

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


Le article du wiki de l'aide sur PXEInstallServer Ubunt explique comment configurer un système Ubuntu en tant que serveur PXE et comment installer Ubuntu sur d'autres systèmes. Il serait difficile de résumer les points principaux - les détails sont très importants. Alors voici le tout (avec des modifications mineures de mise en forme et de ponctuation):

Introduction

Cela vous guidera tout au long de l'exécution d'un serveur Ubuntu en tant que serveur d'installation PXE. Vous devrez exécuter un serveur DHCP sur votre réseau, pas nécessairement ce serveur mais vous en avez besoin.

Installer les paquets nécessaires

Vous devez installer les packages suivants: inetutils-inetd (précédemment netkit-inetd), tftpd-hpa (voir Installation de logiciel ).

  • Pour Ubuntu 10.04, il existe un bogue avec inetutils-inetd. Il écoute uniquement sur IPv6 et non sur IPv4. Pour résoudre rapidement ce problème, vous pouvez utiliser openbsd-inetd à la place.

S'il s'agit également de votre serveur DHCP, installez le serveur DHCP contenu dans le paquetage suivant: dhcp3-server (voir Installation de logiciel ).

Configurez tftpd-hpa

Vous devrez dire à tftpd-hpa de démarrer son démon (ce qui n’est pas le cas par défaut). Pour ce faire, éditez le fichier /etc/default/tftpd-hpa 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 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 ceci 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 le diriger vers votre serveur pxe en procédant comme 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

Configurez tftpd-hpa

tftpd-hpa est appelé à partir de inetd. Les options passées à tftpd-hpa quand il démarre se trouvent donc dans /etc/inetd.conf

Les valeurs par défaut conviennent pour nous, votre /etc/inetd.conf devrait 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 remplacer udp par udp4, étant donné que tftpd-hpa semble 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 disposent d'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 installer tout depuis le serveur d’installation, ainsi que personnaliser certains paquets à installer.

Installer Apache

Actuellement, les installations de nfs ne sont pas bien supportées (corrigez-moi si je me trompe), nous allons donc installer via http. Pour cela, nous avons également besoin d’un serveur Web sur notre serveur d’installation: installez le paquet suivant: Apache (voir Installation de logiciel ).

Copier des fichiers Ubuntu

Créez un répertoire ubuntu sous la racine du document d'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/

Personnaliser l'installation

Il existe un package appelé system-config-kickstart qui est une interface graphique permettant de créer des fichiers kickstart. Le fichier kickstart indique au programme d’installation où obtenir ses paquetages, ce qu’il faut installer et un certain nombre d’autres paramètres utiles. Voir KickstartCompatibility pour plus d'informations.

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

Créez un ks.cfg personnalisé avec system-config-kickstart, veillez à spécifier HTTP sous "Méthode d'installation". Indiquez l'adresse IP de votre serveur d'installation et définissez le répertoire HTTP /ubuntu/. Enregistrez le fichier et copiez-le 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 pour toutes les autres questions pourrait ressembler à ceci:

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

Utilisez votre ks.cfg

Pour que votre réseau Ubuntu puisse utiliser votre fichier kickstart, vous devez lui indiquer où le trouver. Éditez /var/lib/tftpboot/pxelinux.cfg/default et ajoutez ks=http://<installserver>/ks.cfg à la ligne d’ajout. Cela devrait alors ressembler à quelque chose comme ça (notez que la ligne d’ajout 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 dans les versions ultérieures, y compris les versions que vous utilisez probablement] 1 le fichier par défaut a été divisé en includes. La ligne d’ajout peut être trouvée 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émarrer et installer

Vous devriez maintenant pouvoir démarrer un autre ordinateur sur le réseau local via le réseau et le faire installer automatiquement par Ubuntu. :) Vous pouvez faire varier les points d'installation TFTP et HTTP pour avoir plusieurs versions d'Ubuntu disponibles à installer sur votre réseau.

Utiliser le CD (ou .iso) directement

Vous pouvez également atteindre les objectifs ci-dessus sans copier réellement aucun fichier. Vous pouvez monter le CD (ou le fichier .iso), puis effectuer des montages supplémentaires avec l'option --bind. L'avantage est que vous pouvez mettre à niveau le CD (ou le .iso) sans avoir à mettre à jour les fichiers du serveur d'installation.

Par exemple, après avoir monté le CD (ou le fichier .iso) sur /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 tftproot:

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

Si vous deviez créer un répertoire pxelinux.cfg avec un fichier par défaut approprié, vous pouvez le monter par-dessus le CD monté, de sorte que le serveur TFTP transmette votre fichier pxelinux.cfg/default. Par exemple, un répertoire pxelinux.cfg dans ~/pxelinux.cfg pourrait être monté comme suit:

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

(Notez que dans l'exemple ci-dessus, le point de montage réel du répertoire se termine par /var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfg car le pxelinux.cfg est un lien symbolique sur le CD (ou .iso)).

- PXEInstallServer , avec de légères modifications de mise en forme, de ponctuation et de capitalisation, principalement pour prendre en charge le format Ask Ubuntu.

Cet article est tiré du wiki de la documentation Ubunt . Il a été écrit par "Les contributeurs du wiki de la documentation Ubuntu" et est sous licence sous CC-BY-SA 3. , ce qui permet son inclusion ici, avec une attribution appropriée.

1 [Texte en italique entre crochets] ne provient pas de l'original; c'est mon commentaire.


Notez la différence entre cette méthode et la méthode proposée par Mitch . Cette méthode implique l’amorçage à 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 d'un réseau, vous voudrez probablement créer et héberger un référentiel Ubuntu sur votre réseau, et y orienter vos installations.

Les efforts et l'infrastructure nécessaires pour le faire sont comparables à ceux qui seraient nécessaires pour démarrer PXE des machines, comme décrit ci-dessus. Ainsi, bien que cette solution puisse répondre à vos besoins, je vous encourage à envisager le démarrage PXE si vous vraiment devez installer sans "support physique".

11
Eliah Kagan

Vous pouvez le faire en utilisant la méthode d’installation nette pour lancer une installation d’Ubuntu sur le réseau. décrit à Installation Netboot

Installateur de réseau

Le programme d'installation du réseau vous permet d'installer Ubuntu sur le réseau. Ceci est utile, par exemple, si vous avez un ancien ordinateur 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 à la configuration minimale requise pour le Live CD./DVD ou parce qu’ils nécessitent une configuration supplémentaire avant de pouvoir utiliser le bureau graphique, ou si vous souhaitez installer Ubuntu simultanément sur un grand nombre d’ordinateurs.bunt

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

Téléchargez l'installateur du réseau pour 13.04

4
Mitch

Il y a tellement de façons d'accomplir cela.

1 - Netboot

Vous devez modifier les noms d’hôte et les adresses IP dans ce guide pratique 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 logiciel serveur alternatif est laissée comme exercice au lecteur.

Pour obtenir des instructions sur l'utilisation d'un ordinateur Windows en tant que serveur TFTP et DHCP, consultez la rubrique Installation/WindowsServerNetboot.

Ce HOWTO vous mènera jusqu'à l'exécution du 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 composé d’un noyau Linux et d’un initrd. Ces fichiers sont transférés via le processus de démarrage DHCP/TFTP.

Le reste des sources d'installation peut être transféré via FTP ou HTTP. Si la machine cible dispose d'un accès Internet, ces sources peuvent être extraites directement d'un miroir Ubuntu. Vous pouvez également télécharger l'un des ISO d'installation, les monter en boucle et les servir avec un serveur HTTP/FTP local.

3 - NetworkConsole

Amorcer à partir d’un CD (TFTP ou similaire également) et installer le système sur SSH.

4 - Installation rapide sur SSH

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

Jetez un coup d’œil à la documentation complète de Installations de serveur et de résea

4
Achu

Ce qui a fonctionné pour moi lors de l’installation d’Ubuntu 18.04 LTS était basé sur un guide par Isabel Castello , qui semble basé sur le guide LocalNet du wiki Ubunt , mais é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 basique .
  2. Le serveur cible sur lequel vous souhaitez installer Ubuntu. Il doit être connecté au routeur avec un câble (pas de WiFi). Et évidemment, avoir un support pour 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 systèmes d'exploitation sont également possibles, mais les commandes seraient évidemment différentes.

Pas

  1. Assurez-vous d’activer le démarrage du réseau dans target'sBIOS.

    La saisie du BIOS se fait souvent en appuyant ou en maintenant enfoncé Del ou F2 quand la machine démarre. Alternativement, en appuyant sur F12 permet souvent de modifier la séquence d'amorçage d'une manière spécifique au fournisseur, ce qui peut aider.

  2. Découvrez les valeurs suivantes:

    (Vous voudrez peut-être parcourir/modifier les paramètres DHCP sur le routeur pour en connaître quelques-uns. En outre, si vous parvenez à entrer dans l'étape Network Boot ​​lors du démarrage du - cible machine, il affichera probablement au moins adresse MAC, vous pouvez donc le noter.)

    • l'adresse MAC de la cible - de sa carte réseau,
    • l'adresse IP de la cible - qui lui est attribuée par le routeur,
    • l'adresse IP de la passerelle - en d'autres termes, l'adresse IP du routeur,
    • le masque de sous-réseau/réseau - généralement présent dans les paramètres réseau de 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 grep ci-dessus indique un chemin différent, ajustez les valeurs des commandes répertoriées à 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 valeurs de $TARGET_MAC etc. par les valeurs appropriées collectées à l'étape 2. ci-dessus. L’adresse $TARGET_MAC doit être avec des deux points, par exemple: 00:00:39:2B:54:B5 et $SUBNET_MASK en pointillé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 Amorçage résea est activée (appuyez sur F12 si nécessaire, ou rien, ou tout ce dont votre BIOS a besoin).

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

  6. Extra: pour des raisons de sécurité, une fois l'installation terminée, vous devez vous assurer que la fonction Network Boot ​​du BIOS de la cible est de nouveau activée. désactivé.

J'espère que cela t'aides!

1
akavel

Cobbler est un serveur d'installation Linux permettant une configuration rapide des environnements d'installation réseau. Il associe et automatise de nombreuses tâches Linux associées afin que vous n'ayez pas à basculer entre de nombreuses commandes et applications lors du déploiement de nouveaux systèmes et, dans certains cas, de la modification de systèmes existants. Cobbler peut vous aider avec le provisionnement, la gestion des DNS et DHCP, les mises à jour de paquetages, la gestion de l'alimentation, l'orchestration de la gestion de la configuration et bien plus encore.

0
blueray