Chciałbym zainstalować Ubuntu dla prawie 120 użytkowników. Ale korzystanie z USB i napędów jest bardzo trudne.
Jakieś sugestie?
Chciałbym zainstalować Ubuntu dla prawie 120 użytkowników. Ale korzystanie z USB i napędów jest bardzo trudne.
Jakieś sugestie?
Odpowiedzi:
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
(poprzednionetkit-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-inetd
zamiast 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-hpa
plik 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-hpa
jest wywoływany zinetd
. Wtftpd-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.conf
powinieneś 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
udp
goudp4
, jak siętftpd-hpa
wydaje, 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-kickstart
frontend 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.cfg
pomocą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/default
i dodajks=http://<installserver>/ks.cfg
do 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
--bind
opcją. 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.cfg
katalog 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ładpxelinux.cfg
katalog w~/pxelinux.cfg
mó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.cfg
ponieważpxelinux.cfg
jest 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”.
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
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
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.
Musisz być w sieci z 3 węzłami:
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.
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ć.)
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 grep
powyższe pokazuje inną ścieżkę, odpowiednio dostosuj wartości w poleceniach wymienionych w tym i następnym kroku.
Zainstaluj, skonfiguruj i uruchom bootp , również na hoście źródłowym :
Uwaga: zamień $TARGET_MAC
wartości itp. Na odpowiednie wartości zebrane w kroku 2 powyżej. $TARGET_MAC
Adres powinien być z dwukropkiem, np: 00:00:39:2B:54:B5
i $SUBNET_MASK
przerywaną, 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
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.
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!
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.