Jak utworzyć całkowicie nienadzorowaną instalację Ubuntu Desktop 16.04.1 LTS?

43

Cel, powód

Chcę zainstalować Ubuntu Desktop 16.04.1 LTS całkowicie bez nadzoru. Włóż ISO CD i odejdź.

Zagadnienia

  • Niepoprawne parametry rozruchu
  • Pytania są wciąż zadawane i wymagają kliknięcia myszą
  • Skręcone odpowiedzi za pomocą kickstart / preseed
  • Przykłady dokumentacji nie działają, jak stwierdzono, szczególnie od partman i ubunutu

Natknąłem się na ten post tutaj i był blisko tego, czego potrzebowałem, ale nie do końca osiągnąłem to, czego potrzebowałem, ponieważ było to dla Ubuntu Server. Post sugeruje użycie „nie graficznej” instalacji Ubuntu, ale nie mogłem znaleźć nie graficznej instalacji Ubuntu Desktop, co ma sens. Próbowałem dostosować kroki i sprawić, by działało w Ubuntu Desktop 16.04.1 LTS.

Wykorzystana dokumentacja

Użyłem wszystkich następujących zasobów ...

Najwyraźniej nie mogę uwzględnić wszystkich moich zasobów, ponieważ askubuntu nie zezwala na więcej niż 2 linki. To nie jest zbyt pomocne - oto lista:

  • AskUbuntu
  • Ubuntu install.en.pdf
  • Preseed Przykłady
  • Dokumentacja instalatora Ubiquity
  • Dokumentacja i przykłady Partmana
  • Przepis na partycję Wyjaśnienie 3 liczb i ich wagi
  • Bardziej złożony przykład preseed

Aktualne rozwiązanie

Obecnie utworzyłem instalację nienadzorowaną, ale nie jestem pewien, czy jest poprawny - co oznacza, że ​​powinienem był edytować plik isolinux / isolinux.cfg

Było wiele różnic między postem, który podłączyłem, a obrazem Ubuntu Desktop. Oto moje rozwiązanie:

Krok 1

Zamontowałem system Ubuntu ISO, dzięki czemu mogę skopiować zawartość do innego katalogu, a następnie edytować odpowiednie pliki.

mkdir -p /mnt/iso
mount -o loop ubuntu.iso /mnt/iso

Krok 2

Następnie skopiowałem pliki ISO do innego katalogu w celu edycji.

mkdir -p /opt/ubuntuiso
cp -rT /mnt/iso /opt/ubuntuiso

Krok 3

Zedytowałem isolinux/isolinux.cfgplik i zastąpiłem wszystko wewnątrz następującym:

default live-install
label live-install
  menu label ^Install Ubuntu
  kernel /casper/vmlinuz.efi
  append  file=/cdrom/ks.preseed auto=true priority=critical debian-installer/locale=en_US keyboard-configuration/layoutcode=us ubiquity/reboot=true languagechooser/language-name=English countrychooser/shortlist=US localechooser/supported-locales=en_US.UTF-8 boot=casper automatic-ubiquity initrd=/casper/initrd.lz quiet splash noprompt noshell ---

Linia dołączająca jest bardzo długa, więc dla łatwego czytania, oto wszystkie opcje, których użyłem:

file=/cdrom/ks.preseed 
auto=true 
priority=critical 
debian-installer/locale=en_US 
keyboard-configuration/layoutcode=us 
ubiquity/reboot=true 
languagechooser/language-name=English 
countrychooser/shortlist=US 
localechooser/supported-locales=en_US.UTF-8 
boot=casper 
automatic-ubiquity 
initrd=/casper/initrd.lz 
quiet 
splash 
noprompt 
noshell

Odkryłem, że wszystkie te parametry rozruchowe były potrzebne, aby uzyskać całkowicie nienadzorowaną instalację. W przypadku Ubuntu Server może być inaczej.

Krok 4

Próbowałem używać i tworzyć wiele wstępnie przygotowanych plików, ale uznałem, że im bardziej złożony, tym większa szansa na błędy. To jest obecnie mój prosty plik, który działa z powyższym isolinux.cfgplikiem.

### Partitioning
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-auto/choose_recipe select atomic

# This makes partman automatically partition without confirmation
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# Locale
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us

# Network
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/choose_interface select auto

# Clock
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Pacific
d-i clock-setup/ntp boolean true

# Packages, Mirrors, Image
d-i base-installer/kernel/override-image string linux-server
d-i base-installer/kernel/override-image string linux-image-amd64
d-i mirror/country string US
d-i mirror/http/proxy string
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true
d-i pkgsel/install-language-support boolean false
tasksel tasksel/first multiselect ubuntu-desktop

# Users
d-i passwd/user-fullname string Liason
d-i passwd/username string liason
d-i passwd/user-password-crypted password [crpyt 3]
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password [crypt 3]
d-i user-setup/allow-password-weak boolean true

# Grub
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note

# Custom Commands

Nie uwzględniłem moich zaszyfrowanych haseł, więc jeśli spróbujesz tego wstępnie zapisanego pliku, zmień je na zaszyfrowane hasło. Oto 3 sposoby na utworzenie hasła.

Krok 5

Utworzyłem nowy ISO z /opt/ubuntuiso/katalogu.

mkisofs -D -r -V ATTENDLESS_UBUNTU -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /opt/autoinstall.iso /opt/ubuntuiso

Krok 6

W końcu przetestowałem go z Virtualbox i stworzyłem całkowicie nienadzorowaną instalację.

pytania

Czy powinienem edytować isolinux/isolinux.cfgplik?

W drugim poście wydaje się, że są w stanie edytować isolinux/txt.cfgplik i są w stanie to zrobić. Próbowałem przez około godzinę użyć isolinux/txt.cfg, ale to nie zadziałało.

Czy ktoś ma działającą bardziej złożoną recepturę partmana, która bezpośrednio określa partycje? Czy działająca konfiguracja LVM? Próbowałem użyć prostej konfiguracji LVM, ale po ponownym uruchomieniu nie uruchomił się i po prostu usiadł czarny ekran. Nie działał też żaden z wcześniejszych przykładów wymienionych w dokumentacji.

Dziękuję za wszelką pomoc.

Brandon Authier
źródło

Odpowiedzi:

21

Odpowiadanie

Dałem mu trochę czasu, zanim zadałem swoje pytanie, aby sprawdzić, czy są jakieś inne rozwiązania, ale wygląda na to, że rozwiązanie, które wymyśliłem podczas oczekiwania, jest jedynym realnym rozwiązaniem, jakie do tej pory widziałem.

Nieporozumienie

Ponieważ było to przyczyną wielu nieporozumień, postaram się to wyjaśnić. Wygląda na to, że niektóre z odpowiedzi próbowały użyć obrazu Ubuntu 16 Server, kiedy specjalnie próbowałem utworzyć nienadzorowaną instalację obrazu Ubuntu 16 Desktop. Problem powstaje z powodu różnic w implementacji di (instalator Debian) i wszechobecności. Ponieważ obraz serwera będzie zwracał uwagę i używał wszystkich poleceń di we wcześniej przygotowanym pliku, większość zadanych przeze mnie pytań nie ma znaczenia dla obrazu serwera. Jednak ze względu na implementację wszechobecności jako instalatora obrazu pulpitu wiele poleceń di jest ignorowanych, a użytkownik jest bardzo ograniczony i brakuje dużej ilości dokumentacji.

Znaleziono linki do dokumentacji

  • Oto link do Ubiquity ignorującego polecenie preseed / late_command (wydaje mi się, że ignoruje też polecenie preseed / early_command)
  • Oto Dokumentacja Ubiquity, która mówi o tym, które komponenty instalatora nie będą używane w Ubiquity, ale jak zauważysz nawet w tej dokumentacji, mówi ona preseed / early_command, ale sprawdziłbym to dokładnie, aby to sprawdzić, ponieważ nie działało ja (przyznaję, że nie przetestowałem rygorystycznie wczesnego polecenia, więc mogę się mylić).

Udany proces

Oto mój proces pomyślnego tworzenia nienadzorowanej wersji ISO Ubuntu Desktop 16.04 LTS .

Zamontuj system Ubuntu ISO

Będziesz musiał zamontować pliki ISO, aby móc edytować odpowiednie pliki.

mkdir -p /mnt/iso
mount -o loop ~/Downloads/ubuntu-16.04.1-desktop-amd64.iso /mnt/iso

Skopiuj pliki ISO

Będziemy musieli skopiować pliki z zamontowanego ISO do innego katalogu, abyśmy mogli je edytować. Zapraszam do korzystania z dowolnego katalogu, który ci się podoba, wybrałem katalog / opt z powodu innego poradnika, ale równie łatwo można użyć / tmp.

mkdir -p /opt/ubuntuiso
cp -rT /mnt/iso /opt/ubuntuiso

Edytuj plik txt.cfg

W tym miejscu dokonamy edycji pliku /opt/ubuntuiso/isolinux/txt.cfg i dostosujemy nasze parametry rozruchowe, aby uzyskać całkowicie nienadzorowaną instalację, która będzie zawierać wstępnie przygotowany plik. Użyj dowolnego wybranego edytora:

#default live
#label live
#  menu label ^Try Ubuntu without installing
#  kernel /casper/vmlinuz.efi
#  append  file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash ---
#label live-install
#  menu label ^Install Ubuntu
#  kernel /casper/vmlinuz.efi
#  append  file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.lz quiet splash ---
#label check
#  menu label ^Check disc for defects
#  kernel /casper/vmlinuz.efi
#  append  boot=casper integrity-check initrd=/casper/initrd.lz quiet splash ---
#label memtest
#  menu label Test ^memory
#  kernel /install/mt86plus
#label hd 
#  menu label ^Boot from first hard disk
#  localboot 0x80

default live-install
label live-install
  menu label ^Install Ubuntu
  kernel /casper/vmlinuz.efi
  append  file=/cdrom/ks.preseed auto=true priority=critical debian-installer/locale=en_US keyboard-configuration/layoutcode=us ubiquity/reboot=true languagechooser/language-name=English countrychooser/shortlist=US localechooser/supported-locales=en_US.UTF-8 boot=casper automatic-ubiquity initrd=/casper/initrd.lz quiet splash noprompt noshell ---

Zwróć uwagę na kilka rzeczy:

  • Skomentowałem cały oryginalny tekst w pliku.
  • Dodałem cały tekst po dołączeniu „domyślnej instalacji na żywo” na dole
  • Nazwałem wstępnie przygotowany plik „ks.preseed” i będzie on w katalogu najwyższego poziomu ISO (/ opt / ubuntuiso)

Użyj lub utwórz plik Preseed

Ostrożnie używaj już istniejącego pliku. Nie znalazłem żadnego, który po prostu działałby. Nie oznacza to, że nie istnieją, po prostu nie znalazłem żadnego z kilkoma poszukiwaniami. Istnieje wiele sposobów konfiguracji wstępnie przygotowanego pliku, ale znalazłem wiele opcji do zignorowania, opisanych w Dokumentacji Ubiquity, do której odsyłam powyżej oraz w łączu dla preseed / late_command vs. ubiquity / success_command. Podaję mój prosty, wstępnie przygotowany plik, który działa z powyższym plikiem txt.cfg.

W przypadku łańcucha netcfg / get_hostname i łańcucha netcfg / get_domain możesz wstawić cokolwiek chcesz. Użyłem nieprzypisanej nazwy hosta i nieprzypisanej domeny, ponieważ zmienię ją później w procesie skryptowym.

Do każdego niestandardowego polecenia, które chcesz uruchomić po instalacji, musisz użyć:

ubiquity ubiquity/success_command string

Następnie następuje dowolne polecenie, które chcesz uruchomić. Zwróć uwagę na kontynuowanie ciągów za pomocą „; \” i użycie „/ target”, aby zmienić wszystko, co dotyczy zainstalowanego nowego systemu.

# Partitioning
# Old style using d-i command
#d-i partman-auto/disk string /dev/sda
#d-i partman-auto/method string regular
#d-i partman-lvm/device_remove_lvm boolean true
#d-i partman-md/device_remove_md boolean true
#d-i partman-auto/choose_recipe select atomic

# Newer ubiquity command
ubiquity partman-auto/disk string /dev/sda
ubiquity partman-auto/method string regular
ubiquity partman-lvm/device_remove_lvm boolean true
ubiquity partman-md/device_remove_md boolean true
ubiquity partman-auto/choose_recipe select atomic

# This makes partman automatically partition without confirmation
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# Locale
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us

# Network
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/choose_interface select auto

# Clock
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Pacific
d-i clock-setup/ntp boolean true

# Packages, Mirrors, Image
d-i mirror/country string US
d-i apt-setup/multiverse boolean true
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true

# Users
d-i passwd/user-fullname string User
d-i passwd/username string user
d-i passwd/user-password-crypted password yourEncryptedPasswd
d-i passwd/user-default-groups string adm audio cdrom dip lpadmin sudo plugdev sambashare video
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password rootEncryptedPasswd
d-i user-setup/allow-password-weak boolean true

# Grub
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note

# Custom Commands
ubiquity ubiquity/success_command string \
  sed -i -e 's/dns=dnsmasq/#dns=dnsmasq/' /target/etc/NetworkManager/NetworkManager.conf ;\
  cp -a /cdrom/scripts/ /target/root/ ;\
  cp -a /cdrom/salt/ /target/root/

Zwróć uwagę na te rzeczy, które zostawiłem w celach ilustracyjnych, i prawdopodobnie będą się różnić w twoim poleceniu.

  • Hasło użytkownika / root musi zostać dodane przez Ciebie. Oto link, który pokazuje 3 różne sposoby tworzenia hasła do krypty 3.
  • Możesz zmienić grupy, do których użytkownik jest przypisany.
  • Na pewno będziesz chciał zmienić komendę powodzenia. Zostawiłem go, aby pokazać, jak można go sformatować i jak korzystać ze środowiska / target .

Utwórz nowe ISO

Utwórz ISO, aby przetestować wstępnie przygotowany plik. Jeśli użyjesz jednego lub stworzysz własny, musisz go przetestować, ponieważ PRAWDOPODOBNIE będzie to miejsce, w którym proces się nie powiedzie. Napisałem skrypt do szybkiego testowania, ale możesz po prostu wskazać plik preseed na http: // hostowany plik preseed i przetestować w ten sposób bardzo szybko.

mkisofs -D -r -V "UNATTENDED_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /tmp/ubuntu16-desktop-unattended-install.iso /opt/ubuntuiso

Zmień nazwę wyjściową i katalog, w którym ją zapiszesz.

Burn ISO

Sugeruję przetestowanie na virtualboxie lub podobnym, a kiedy już będzie działać, wypal go na DVD. Powinieneś teraz mieć działający nienadzorowany dysk instalacyjny DVD Ubuntu Desktop 16.04 LTS.

Informacje zwrotne, korekty, błędy

Napisałem to wszystko za jednym razem i po drodze mogą wystąpić błędy, literówki lub rzeczy, które się popsuły. Jeśli ktoś spróbuje tego, daj mi znać, jeśli wystąpi błąd w procesie. I pamiętaj, że jeśli utworzysz własny plik predefiniowany, prawdopodobnie nie będę w stanie odpowiedzieć na pytanie, dlaczego instalacja nienadzorowana jest zepsuta i nie działa, ponieważ wszechobecność lubi ignorować i nie robić pewnych rzeczy w pliku preseed. Mam nadzieję, że komuś to pomoże.

Brandon Authier
źródło
Cześć @BrandonAuthier, dziękuję za informacje, które udostępniłeś tutaj. Śledziłem bardzo uważnie wszystkie twoje kroki i wreszcie spróbowałem zrobić bootowalny klucz USB z ostatecznie utworzonego obrazu /tmp/ubuntu16-desktop-unattended-install.iso. Aby to zrobić, że użyłem tego polecenia jako root (moje urządzenie USB jest na / dev / sdc) dd if=/tmp/ubuntu16-desktop-unattended-install.iso of=/dev/sdc bs=4M && sync. Niestety klucz USB (tylko jeśli zawiera niestandardową wersję ISO: działa na oryginalną wersję) nie znajduje się w proponowanych opcjach rozruchu, więc wygląda na to, że nie można go uruchomić. Może masz pojęcie o tym, co się dzieje?
Hadrien TOMA,
W rzeczywistości klucz USB jest postrzegany jako „Napęd dyskietek” zamiast „Urządzenie pamięci masowej USB” (z którego mogę się uruchomić).
Hadrien TOMA
1
Myślę, że utworzenie rozruchowego klucza USB jest nieco inne i wymaga zmiany nazwy isolinux / i isolinux.cfg na syslinux / i syslinux.cfg. Napisałem to na płycie CD / DVD i używałem go na maszynie wirtualnej do testowania, a następnie instalowania za pomocą dysku DVD. Nie próbowałem przekształcić go w bootowalny USB, ale może być wiele rzeczy, które poszły nie tak z poleceniem dd. Jeśli nie zmieniłeś tych nazw, to prawdopodobnie było to częścią tego. Jeśli nie sformatowałeś poprawnie USB i nie nadałeś mu flagi rozruchowej za pomocą fdisk, może to być inna. Kiedy mam trochę więcej czasu, mogę wymyślić, jak to zrobić i opublikować.
Brandon Authier,
1
Gorąco polecam użycie mkusbISO do ustawienia na USB, jeśli nie jesteś zaznajomiony z niskimi poziomami rozruchu Linuksa i ładowania grub / syslinux.
dragon788
1
@HadrienTOMA dragon788 prawdopodobnie ma rację na temat korzystania z mkusb, jeśli masz maszynę Ubuntu, ponieważ wygląda na to, że zostanie zainstalowana przez PPA. Szczerze mówiąc, warto się nauczyć, jak sformatować pamięć USB za pomocą fdisk, stworzyć odpowiedni system plików, a następnie dd-ing. Jedyne, co mnie martwiło, to to, że mój obraz ISO może nie działać, po prostu dodając go. Dam ci znać, gdy będę miał okazję to przetestować.
Brandon Authier
1

Przykro mi, że moja poprzednia metoda nie zadziałała. Na szczęście znalazłem skrypt zaprojektowany przez Rincka Sonnenberga ( Netson ), który tworzyłby nienadzorowane ISO6464 Ubuntu Server na GitHub, i rozwidliłem go. Następnie poprawiłem skrypt, dodając możliwość tworzenia ISO I386. Zmieniłem także system operacyjny z Ubuntu Server na Ubuntu Desktop. Nie musisz odwiedzać repozytorium GitHub, wystarczy postępować zgodnie z poniższymi instrukcjami.

Uruchom następujące polecenia:

$ wget https://raw.githubusercontent.com/iPlus-TechNet/ubuntu-unattended/master/create-unattended-iso.sh
$ chmod +x create-unattended-iso.sh
$ sudo ./create-unattended-iso.sh

Czasami wgetnie jest dostępny. W takim przypadku użyj curl:

$ curl -O https://raw.githubusercontent.com/iPlus-TechNet/ubuntu-unattended/master/create-unattended-iso.sh

Jeśli żaden z tych elementów nie działa, pobierz go i przenieś do folderu domowego.

Następnie zostaniesz zapytany, którą wersję Ubuntu zainstalować, a następnie pytania, które zada Ubuntu, jeśli przeprowadzasz instalację ręczną. Skrypt następnie pobierze system Ubuntu ISO, a następnie zastosuje wymagane zmiany. Masz teraz ISO, które jest gotowe do instalacji nienadzorowanej!

To powinno odpowiedzieć na twoje pytanie, ponieważ zadziałało dla mnie dobrze. Dobrze też, że ta metoda jest znacznie łatwiejsza niż moja poprzednia odpowiedź. Mam nadzieję, że to działa dla ciebie tak samo jak dla nas.

iplustech.net
źródło
1
Doceniam odpowiedź i po przeczytaniu skryptu widzę, że używasz Ubuntu Server , o czym wielokrotnie mówiłem, że nie chcę go używać. Wiem już, że Ubuntu Server używa di i faktycznie wykorzystuje tradycyjne parametry. Chcę jednak Ubuntu Desktop, ponieważ moje pytanie wyraźnie mówi. Nie chcę instalować serwera i po instalacji muszę zbudować wersję na komputery.
Brandon Authier
DOBRZE. Zamienię to na Ubuntu Desktop.
iplustech.net,
Naprawiłem to. Mam nadzieję, że teraz ci się uda.
iplustech.net,
1
Cóż, powinno to być bardzo proste - twój skrypt pobiera tylko obrazy SERWERA - co nie jest tym, o co prosiłem i dlatego Twoje rozwiązanie skryptowe zawodzi. Ma to wszystko wspólnego z moim systemem i nie jest niczym dziwnym, ponieważ jest to wersja DESKTOP, którą wyraźnie powiedziałem w pytaniu tego wątku. Dziękujemy za próbę, ale obraz serwera nie rozwiąże tego pytania.
Brandon Authier,
2
github.com/iPlus-TechNet już nie istnieje? Mam błąd 404.
Hadrien TOMA
1

Zajrzyj na: https://github.com/core-process/linux-unattended-installation

Ten projekt zapewnia wszystko, czego potrzebujesz, aby utworzyć nienadzorowaną instalację minimalnej instalacji systemu Linux, podczas gdy minimalna przekłada się na najlżejszą konfigurację - w tym usługę OpenSSH i Pythona - którą możesz uzyskać ze standardowego instalatora dystrybucji Linuksa. Chodzi o to, że po zakończeniu minimalnej instalacji wykonasz wszystkie dalsze konfiguracje i usługi za pomocą Ansible lub podobnych narzędzi.

Niklas
źródło
Hmm, wygląda dość interesująco. Na pewno bym czekał na 18.04 LTS, ale mogę z tym popsuć, żeby zobaczyć, jak to działa. Skończyłem już z rozwiązywaniem tego, wymyślając wszystko, jak napisano powyżej. Jednak obserwowanie, jak inni ludzie to rozwiązują, jest zawsze dobre dla różnych pomysłów.
Brandon Authier
1
Właśnie dodano obsługę do tworzenia obrazów dysków, a także obrazów ISO. Cieszyć się!
Niklas
1

Świetna robota Brandon Authier za twój post i instrukcje, bardzo mi pomogłeś.

Miałem jednak jeden problem z twoją metodą: dowiedziałem się, że po zakończeniu instalacji i ponownym uruchomieniu komputera GRUB zawiesza się.

Dodałem więc do ks.preseed następujące:

# Due notably to potential USB sticks, the location of the MBR can not be
# determined safely in general, so this needs to be specified:

d-i grub-installer/bootdev  string /dev/sda

# To install to the first device (assuming it is not a USB stick):
#d-i grub-installer/bootdev  string default

Zapobiega to awarii instalacji grub, jeśli nie wyjmiesz pamięci USB. Dostałem to od https://www.debian.org/releases/stable/example-preseed.txt

RomanuX
źródło
Więc zawiesił się, ponieważ USB wciąż był włożony i próbował ponownie uruchomić z USB? Zdecydowanie mogę dodać to do powyższego pliku, ale chciałem się upewnić, że wiem, co się stało i czemu temu zapobiega.
Brandon Authier,
0

PROSZĘ NIE WYPRÓBOWAĆ TEJ METODY. NIE DZIAŁA (JEŚLI CHCESZ ZABRAĆ CZAS):

Wszędzie widziałem odpowiedź na to pytanie. Opowiem ci najczęstsze rozwiązanie. Nigdy wcześniej tego nie próbowałem, więc może być nieaktualny. Naprawdę nie rozumiem o co chodzi, ponieważ samo wykonanie instalacji ręcznej byłoby łatwiejsze, ale w każdym razie ...

Zaloguj się jako root lub uruchom $ sudo su -

Pobierz i zamontuj ISO. NIE rób tego ręcznie ze strony Ubuntu.

# mkdir -p /mnt/iso
# mount -o loop ubuntu.iso /mnt/iso

wykonaj kopię zapasową i przenieś odpowiednie pliki.

# mkdir -p /opt/ubuntuiso
# cp -rT /mnt/iso /opt/ubuntuiso

Zablokuj wyświetlanie części językowej GUI

# cd /opt/ubuntuiso
# echo en >isolinux/lang

Dodaj plik „Kickstart”.

# apt install system-config-kickstart
# system-config-kickstart

[OPCJONALNIE] Dodaj pakiety do instalacji

# vim /path/to/ks.cfg #[OPTIONAL]

Lub po prostu wyszukaj go w swoich plikach i edytuj bezpośrednio. Dodaj %packagessekcję i umieść pod nią swoje pakiety.

%packages
# Add your packages below. Example:
@ ubuntu-server
apache2
mysql-server
php7.0
php-pear
libapache2-mod-php7.0 
php7.0-mysql
php7.0-curl
php7.0-json
php7.0-cgi

Jak powiedziałem, sam nigdy tego nie zrobiłem, więc jeśli masz konfigurację taką jak powyższa, to może nie instalować stosu LAMP i będziesz musiał to zrobić ręcznie później.

Pomiń pytania za pomocą pliku „wstępnie”.

# echo 'd-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition \
select Finish partitioning and write changes to disk
d-i partman/confirm boolean true' > ks.preseed

Aktywuj pliki:

# vi isolinux/txt.cfg

Następnie wyszukaj:

label install
  menu label ^Install Ubuntu Server
  kernel /install/vmlinuz
  append  file=/cdrom/preseed/ubuntu-server.seed vga=788 initrd=/install/initrd.gz quiet --

Następnie musisz dodać ks=cdrom:/ks.cfgi preseed/file=/cdrom/ks.preseed. Usuń słowa, quieta vga=788więc wygląda to tak:

append file=/cdrom/preseed/ubuntu-server.seed initrd=/install/initrd.gz ks=cdrom:/ks.cfg preseed/file=/cdrom/ks.preseed --

Teraz możesz utworzyć nową odpowiedź:

# mkisofs -D -r -V "ATTENDLESS_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /opt/autoinstall.iso /opt/ubuntuiso

I proszę bardzo!

iplustech.net
źródło
Teraz, gdy rozejrzał się, widziałem dokładnie taki sam wzór tutaj od Elazara Leibovich . Wydaje mi się, że miałem rację co do tego, że jest najczęściej.
iplustech.net,
1
Hmmm, nie jestem pewien, co stało się z moim komentarzem przed tym postem ... Ta powyższa metoda NIE DZIAŁA . Jeśli czytasz to i szukasz odpowiedzi, nie próbuj tego, to strata czasu. Dokładnie łączę ten dokładny proces w moim pierwotnym pytaniu, wyraźnie wskazując wady tej metody: ks są zdecydowanie zbyt ograniczonymi plikami ps od Ubuntu 16.01, ze względu na wszechobecność, ignorują wiele funkcji txt.cfg nie działa dla Ubuntu Desktop 16.04, ponieważ wskazane przez ten lub inne posty Musisz podać sporo parametrów rozruchowych, aby ominąć, a nawet dotrzeć do ps-ding po wszechobecność
Brandon Authier
3
Plakat najwyraźniej nie przeczytał mojego postu. Napisał: „Nigdy wcześniej tego nie próbowałem , więc może być nieaktualny. Naprawdę nie rozumiem sensu, ponieważ samo wykonanie instalacji ręcznej byłoby łatwiejsze , ale i tak…”. Nawet tego nie próbowałem i uważa to za rozwiązanie ??? Po drugie, wyjaśniam, że chcę instalacji nienadzorowanej, w której mogę odejść. Nie manualny. Wyobraź sobie, że instalujesz 100 skrzynek, czy chcesz to zrobić ręcznie? Nie.
Brandon Authier
O. Przepraszam za to. Mogę spojrzeć na inne sposoby, aby to zrobić.
iplustech.net,