Czy można zainstalować Ubuntu przez sieć?


Odpowiedzi:


11

Możesz zainstalować jeden system Ubuntu (zazwyczaj system Ubuntu Server, ale nie musi tak być), a następnie użyć go jako serwera do rozruchu PXE i zainstalować pozostałe. BIOSy na klientach (w których chcesz zainstalować Ubuntu) muszą obsługiwać PXE (tj. Rozruch sieciowy ), aby to działało. Ale większość BIOSów tak robi.

Powinieneś być w stanie to zrobić również z systemem innym niż Ubuntu jako hostem, jeśli już to skonfigurowałeś i wiesz, jak skonfigurować niezbędne serwery w systemie innym niż Ubuntu.


PXEInstallServer Ubuntu pomoc wiki artykule wyjaśniono, jak skonfigurować system Ubuntu jako serwer PXE, i jak zainstalować Ubuntu na innych systemach z niego. Trudno byłoby streścić główne punkty - szczegóły są bardzo ważne. Oto cała sprawa (z niewielkimi zmianami formatowania i interpunkcji):

Wprowadzenie

To poprowadzi cię przez uruchamianie serwera Ubuntu jako serwera instalacyjnego PXE. Będziesz musiał uruchomić serwer DHCP w swojej sieci, niekoniecznie ten serwer, ale potrzebujesz go.

Instalowanie potrzebnych pakietów

Będziesz musiał zainstalować następujące pakiety: inetutils-inetd (poprzednio netkit-inetd), tftpd-hpa(patrz Instalacja oprogramowania ).

  • W przypadku Ubuntu 10.04 występuje błąd inetutils-inetd. Słucha tylko na IPv6, a nie na IPv4. Jako szybkie obejście można użyć openbsd-inetdzamiast tego.

Jeśli będzie to również twój serwer DHCP, zainstaluj serwer dhcp zawarty w następującym pakiecie: dhcp3-server(patrz Instalowanie oprogramowania ).

Skonfiguruj tftpd-hpa

Musisz powiedzieć tftpd-hpa, aby uruchomił demona (czego domyślnie nie ma). Aby to zrobić, edytuj /etc/default/tftpd-hpaplik i upewnij się, że wygląda mniej więcej tak:

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

Następnie uruchom skrypt startowy, aby faktycznie uruchomić demona:

/etc/init.d/tftpd-hpa restart

Skonfiguruj dhcpd

Jeśli twój serwer pxe jest również serwerem dhcp, potrzebujesz czegoś takiego w /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";
}

Jeśli masz już serwer dhcp, powinieneś wskazać go na swój serwer pxe, wykonując następujące czynności:

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

Zrestartuj serwer dhcp, aby zmiany odniosły skutek:

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

Skonfiguruj tftpd-hpa

tftpd-hpajest wywoływany z inetd. W tftpd-hpa ten sposób można znaleźć opcje przekazane do momentu uruchomienia/etc/inetd.conf

Domyślne wartości są dla nas w porządku, /etc/inetd.confpowinieneś mieć taki wpis:

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

(Chociaż może być konieczne zmodyfikowanie tego pliku i zastąpienie udpgo udp4, jak się tftpd-hpawydaje, teraz oczekuje się adresu IPv6).

Teraz skopiujemy potrzebne pliki z dysku CD Ubuntu:

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

Jeśli twój serwer dhcp wyświetla poprawne informacje o sieci, a klienci pxe będą mieli dostęp do sieci, w tym momencie będziesz mógł wykonać instalację Ubuntu przy użyciu repozytoriów internetowych.

Chcę jednak pójść nieco dalej i zainstalować wszystko z serwera instalacyjnego, a także dostosować niektóre pakiety do zainstalowania.

Zainstaluj apache

Obecnie instalacje NFS nie są dobrze obsługiwane (popraw mnie, jeśli się mylę), więc będziemy instalować przez HTTP. W tym celu potrzebujemy również serwera WWW na naszym serwerze instalacyjnym: zainstaluj następujący pakiet: apache(zobacz Instalowanie oprogramowania ).

Kopiowanie plików Ubuntu

Utwórz katalog ubuntu w katalogu głównym świeżo zainstalowanego apache i skopiuj całą zawartość alternatywnego dysku CD Ubuntu do tego katalogu:

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

Dostosowywanie instalacji

Istnieje pakiet o nazwie system-config-kickstartfrontend GUI do tworzenia plików kickstart. Plik kickstart informuje instalatora, skąd ma pobierać swoje pakiety, co zainstalować i wiele innych przydatnych ustawień. Zobacz KickstartCompatibility, aby uzyskać więcej informacji.

Ten pakiet nie musi być instalowany na twoim serwerze instalacyjnym, może być gdzieś na wygodnym pulpicie Ubuntu.

Utwórz niestandardowy za ks.cfgpomocą system-config-kickstart, pamiętaj, aby podać HTTP w „Metodzie instalacji”. Podaj adres IP serwera instalacji i utwórz katalog HTTP /ubuntu/. Zapisz plik i skopiuj go na serwer instalacyjny pod /var/www/html/.

Bardzo minimalistyczny plik `ks.cfg, który używa tylko plików instalacyjnych na serwerze instalacyjnym i pyta o wszystkie inne pytania, może wyglądać następująco:

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

Użyj swojego ks.cfg

Aby Twoja instalacja sieciowa Ubuntu korzystała z pliku kickstart, musisz powiedzieć, gdzie go znaleźć. Edytuj /var/lib/tftpboot/pxelinux.cfg/defaulti dodaj ks=http://<installserver>/ks.cfgdo linii dołączania. Powinno to wyglądać mniej więcej tak (zwróć uwagę, że linia dołączająca to jedna linia):

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 -

W Jaunty [i prawdopodobnie późniejszych wersjach, w tym każdej wersji, której prawdopodobnie używasz] 1 plik domyślny został podzielony na dołączone. Dodatkowy wiersz można znaleźć w /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

Uruchom i zainstaluj

Powinieneś być teraz w stanie uruchomić inny komputer w sieci LAN i pozwolić na automatyczną instalację Ubuntu. :) Możesz zmieniać punkty instalacji tftp i http, aby mieć wiele wersji Ubuntu dostępnych do zainstalowania w twojej sieci.

Korzystanie bezpośrednio z płyty CD (lub .iso)

Możesz również osiągnąć powyższe bez faktycznego kopiowania plików w dowolnym miejscu. Możesz zamontować dysk CD (lub .iso), a następnie wykonać dodatkowe podłączenia z --bindopcją. Zaletą jest to, że można uaktualnić dysk CD (lub .iso) bez konieczności aktualizacji plików instalacyjnych serwera.

Na przykład po zamontowaniu dysku CD (lub .iso) /media/cdrom/można zamontować pliki ubuntu w katalogu internetowym:

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

Podobnie możesz zrobić to samo z tftproot:

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

Jeśli chcesz utworzyć pxelinux.cfgkatalog z odpowiednim plikiem domyślnym, możesz zamontować go na górze zamontowanego dysku CD, aby serwer tftp wydał plik pxelinux.cfg / default. Na przykład pxelinux.cfgkatalog w ~/pxelinux.cfgmógłby zostać zamontowany w następujący sposób:

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

(Zauważ, że w powyższym przykładzie rzeczywisty punkt podłączenia katalogu skończyłby się tak, /var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfgponieważ pxelinux.cfgjest to dowiązanie symboliczne na płycie CD (lub .iso)).

- PXEInstallServer , z niewielkimi zmianami formatowania, interpunkcji i wielkich liter, głównie w celu dostosowania formatu Ask Ubuntu.

Ten artykuł pochodzi z wiki dokumentacji Ubuntu . Został napisany przez „Współtwórców wiki dokumentacji Ubuntu” i jest licencjonowany na licencji CC-BY-SA 3.0 , co pozwala na umieszczenie go tutaj, z odpowiednim uznaniem .

1 [Tekst w nawiasach klamrowych] nie pochodzi z oryginału; to jest mój komentarz.


Zwróć uwagę na różnicę między tą metodą a metodą sugerowaną przez Mitcha . Ta metoda polega na uruchomieniu z dysku CD / DVD lub napędu flash USB, który następnie instaluje system za pośrednictwem sieci. Domyślnie ta sieć to Internet; aby ta metoda była uzasadniona w przypadku instalacji na setkach komputerów w sieci, prawdopodobnie chciałbyś utworzyć i hostować repozytorium Ubuntu w swojej sieci i wskazać na to swoje instalacje.

Wymagany do tego wysiłek i infrastruktura są porównywalne z niezbędnymi do PXE rozruchu maszyn, jak opisano powyżej. Chociaż ten sposób może zaspokoić Twoje potrzeby, zachęcam do rozważenia uruchomienia PXE, jeśli naprawdę potrzebujesz zainstalować bez „fizycznych nośników”.


Czy muszę zmienić jakieś ustawienia w routerze?
Enkouyami

4

Możesz to zrobić za pomocą metody instalacji sieciowej, rozpoczynając instalację Ubuntu przez sieć. opisane w instalacji Netboot

Instalator sieciowy

Instalator sieciowy pozwala zainstalować Ubuntu przez sieć. Jest to przydatne, na przykład, jeśli masz starą maszynę z dyskiem CD-ROM, który nie nadaje się do rozruchu, lub komputer, na którym nie można uruchomić instalatora opartego na interfejsie graficznym, ponieważ nie spełniają minimalnych wymagań dotyczących dysku CD na żywo / DVD lub ponieważ wymagają one dodatkowej konfiguracji przed użyciem pulpitu graficznego lub jeśli chcesz zainstalować Ubuntu na dużej liczbie komputerów jednocześnie. Ubuntu

Pobierz instalator sieciowy dla 12.04 LTS

Pobierz instalator sieciowy dla 13.04


4

Jest tak wiele sposobów na osiągnięcie tego.

1 - Netboot

Musisz zmodyfikować nazwy hosta i adresy IP w tym HOWTO dla własnej konfiguracji. Zasady opisane tutaj mają zastosowanie do innych serwerów DHCP i TFTP niż te opisane poniżej; korzystanie z alternatywnego oprogramowania serwera pozostawia ćwiczenie czytelnikowi.

Aby uzyskać instrukcje dotyczące korzystania z komputera z systemem Windows jako serwera TFTP i DHCP, przejdź do Instalacja / WindowsServerNetboot.

To HOWTO poprowadzi cię aż do uruchomienia instalatora; jeśli chcesz wykonywać automatyczne lub nienadzorowane instalacje Ubuntu, zobacz Instalacja / LocalNet.

2 - LocalNet

Ta metoda instalacji wykorzystuje DHCP / BOOTP, TFTP i FTP / HTTP w celu uzyskania źródeł instalacji. Sam instalator składa się z jądra Linuksa i initrd. Pliki te są przesyłane za pomocą procesu rozruchu DHCP / TFTP.

Pozostałą część źródeł instalacji można przesłać przez FTP lub HTTP. Jeśli komputer docelowy ma dostęp do Internetu, źródła te można pobrać bezpośrednio z serwera lustrzanego Ubuntu. Alternatywnie, możesz pobrać jeden z instalacyjnych ISO, zamontować je z pętlą i obsługiwać je z lokalnym serwerem HTTP / FTP.

3 - NetworkConsole

Ładowanie z dysku CD (może to być również TFTP lub podobny) i instalowanie systemu przez SSH.

4 - Szybka instalacja przez SSH

Krótki przewodnik instalacji Hardy Ubuntu 12.04 na serwerze dedykowanym przez ssh.

Zobacz pełną dokumentację instalacji serwera i sieci


1

To, co zadziałało podczas instalacji Ubuntu 18.04 LTS, oparte było na przewodniku Isabel Castello , który wydaje się oparty na przewodniku LocalNet z wiki Ubuntu , ale był dla mnie znacznie bardziej czytelny i zrozumiały.

Wymagania wstępne

Musisz być w sieci z 3 węzłami:

  1. Podstawowy router DHCP .
  2. Serwer docelowy , na którym chcesz zainstalować Ubuntu. Musi być podłączony do routera za pomocą kabla (nie WiFi). I oczywiście mają wsparcie dla uruchamiania sieciowego w BIOSie.
  3. Źródłem serwer, który będzie służyć wstępnych pliki i usługi instalacyjne. Ten przewodnik zakłada, że ​​jest to także Ubuntu; inne systemy operacyjne są z pewnością możliwe, ale polecenia byłyby oczywiście inne.

Kroki

  1. Pamiętaj, aby włączyć rozruch sieciowy w BIOSie docelowym .

    Wejście do BIOS-u odbywa się często przez naciśnięcie lub przytrzymanie Dellub F2podczas uruchamiania komputera. Alternatywnie, naciśnięcie F12często pozwala zmienić sekwencję rozruchu w sposób specyficzny dla dostawcy, co może pomóc.

  2. Znajdź następujące wartości:

    (Możesz przejrzeć / zmienić ustawienia DHCP na routerze, aby dowiedzieć się o niektórych z nich. Ponadto, jeśli uda ci się przejść do etapu rozruchu sieciowego podczas uruchamiania komputera docelowego , prawdopodobnie wyświetli przynajmniej adres MAC , więc możesz mogę to zanotować.)

    • na adres MAC celowi - własność swojej karty sieciowej,
    • na adres IP celowi - przydzielony mu przez ruter ,
    • IP bramy - innymi słowy, IP routera,
    • maska podsieci / sieci - zwykle w źródłowego i / lub routera ustawień sieciowych.
  3. Zainstaluj i skonfiguruj tftp na hoście źródłowym :

    $ 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
    

    Jeśli greppowyższe pokazuje inną ścieżkę, odpowiednio dostosuj wartości w poleceniach wymienionych w tym i następnym kroku.

  4. Zainstaluj, skonfiguruj i uruchom bootp , również na hoście źródłowym :

    Uwaga: zamień $TARGET_MACwartości itp. Na odpowiednie wartości zebrane w kroku 2 powyżej. $TARGET_MACAdres powinien być z dwukropkiem, np: 00:00:39:2B:54:B5i $SUBNET_MASKprzerywaną, np 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. Uruchom ponownie komputer docelowy , upewniając się, że funkcja rozruchu sieciowego jest włączona (naciśnij w F12razie potrzeby lub nic, lub cokolwiek innego wymaga BIOS).

    Tekstowy interaktywny instalator Ubuntu 18.04 powinien uruchomić się teraz na maszynie docelowej. Kontynuuj tak, jakby normalnie instalował Ubuntu.

  6. Dodatkowo: ze względów bezpieczeństwa po zakończeniu instalacji należy upewnić się, że funkcja Network Boot w BIOSie docelowym jest ponownie wyłączona.

Mam nadzieję że to pomoże!


0

Cobbler to serwer instalacyjny dla systemu Linux, który umożliwia szybką konfigurację sieciowych środowisk instalacyjnych. Skleja się i automatyzuje wiele powiązanych zadań Linuksa, dzięki czemu nie musisz przeskakiwać między wieloma różnymi poleceniami i aplikacjami podczas wdrażania nowych systemów, aw niektórych przypadkach zmieniając istniejące. Cobbler może pomóc w dostarczaniu, zarządzaniu DNS i DHCP, aktualizacjach pakietów, zarządzaniu energią, zarządzaniu konfiguracją i wielu innych.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.