Wie erstelle ich eine völlig unbeaufsichtigte Installation von Ubuntu Desktop 16.04.1 LTS?

43

Zweck

Ich möchte Ubuntu Desktop 16.04.1 LTS völlig unbeaufsichtigt installieren. Legen Sie die ISO-CD ein und gehen Sie.

Probleme

  • Bootparameter falsch
  • Fragen, die noch gestellt werden und Mausklicks erfordern
  • Gewundene Antworten mit Kickstart / Preseed
  • Dokumentationsbeispiele funktionieren nicht wie angegeben, speziell von partman und ubunutu

Ich bin auf diesen Post hier gestoßen und er entsprach in etwa dem, was ich brauchte, konnte aber nicht ganz das erreichen, was ich brauchte, da er für Ubuntu Server war. Der Beitrag schlägt vor, eine "nicht-grafische" Ubuntu-Installation zu verwenden, aber ich konnte keine nicht-grafische Installation für Ubuntu Desktop finden, was Sinn macht. Ich habe versucht, die Schritte anzupassen und es für Ubuntu Desktop 16.04.1 LTS zum Laufen zu bringen.

Dokumentation verwendet

Ich habe alle folgenden Ressourcen verwendet ...

Anscheinend kann ich nicht alle meine Ressourcen einbeziehen, da askubuntu nicht mehr als 2 Links zulässt. Nun, das ist nicht sehr hilfreich - hier ist nur eine Liste:

  • AskUbuntu
  • Ubuntu install.de.pdf
  • Preseed-Beispiele
  • Ubiquity Installer-Dokumentation
  • Partman Dokumentation und Beispiele
  • Partitionsrezept Erklärung der 3 Zahlen und deren Gewichtung
  • Ein komplexeres Preseed-Beispiel

Aktuelle Lösung

Ich habe gerade eine unbeaufsichtigte Installation erstellt, bin mir aber nicht sicher, ob diese korrekt ist - was bedeutet, dass ich die Datei isolinux / isolinux.cfg hätte bearbeiten sollen

Es gab viele Unterschiede zwischen dem von mir verlinkten Beitrag und dem Ubuntu Desktop-Image. Hier ist meine Lösung:

Schritt 1

Hänge Ubuntu ISO ein, damit ich den Inhalt in ein anderes Verzeichnis kopieren und dann die dazugehörigen Dateien bearbeiten kann.

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

Schritt 2

Ich habe dann die ISO-Dateien zur Bearbeitung in ein anderes Verzeichnis kopiert.

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

Schritt 3

Ich habe die isolinux/isolinux.cfgDatei bearbeitet und alles darin durch Folgendes ersetzt:

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 ---

Die Append-Zeile ist sehr lang, so dass ich sie leicht lesen kann. Hier sind alle Optionen, die ich verwendet habe:

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

Ich fand, dass all diese Boot-Parameter benötigt wurden, um eine völlig unbeaufsichtigte Installation zu erhalten. Bei Ubuntu Server kann dies anders sein.

Schritt 4

Ich habe versucht, viele vordefinierte Dateien zu verwenden und zu erstellen, aber je komplexer, desto größer die Wahrscheinlichkeit von Fehlern. Dies ist momentan meine einfache Voreinstellungsdatei, die mit der obigen isolinux.cfgDatei funktioniert .

### 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

Ich habe meine verschlüsselten Passwörter nicht angegeben. Wenn Sie diese vordefinierte Datei ausprobieren, ändern Sie sie bitte in ein verschlüsseltes Passwort. Hier gibt es 3 Möglichkeiten, um das Passwort zu erstellen.

Schritt 5

Ich habe die neue ISO aus dem /opt/ubuntuiso/Verzeichnis erstellt.

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

Schritt 6

Ich habe es schließlich mit Virtualbox getestet und es wurde eine völlig unbeaufsichtigte Installation erstellt.

Fragen

Sollte ich die isolinux/isolinux.cfgDatei bearbeiten müssen ?

In dem anderen Beitrag scheinen sie in der Lage zu sein, die isolinux/txt.cfgDatei zu bearbeiten und sie zum Laufen zu bringen. Ich habe ungefähr eine Stunde lang versucht, das zu benutzen isolinux/txt.cfg, aber es hat nicht funktioniert.

Hat jemand ein komplexeres Partman-Rezept, das Partitionen direkt spezifiziert? Oder ein funktionierendes LVM-Setup? Ich habe versucht, ein einfaches LVM-Setup zu verwenden, aber nach dem Neustart konnte es nicht mehr gestartet werden und es wurde nur ein schwarzer Bildschirm angezeigt. Auch keines der in der Dokumentation aufgeführten Voreinstellungsbeispiele hat funktioniert.

Vielen Dank für jede Hilfe.

Brandon Authier
quelle

Antworten:

21

Antworten

Ich habe einige Zeit gebraucht, um zu prüfen, ob es andere Lösungen gibt, aber es sieht so aus, als ob die Lösung, die ich während des Wartens gefunden habe, die einzige praktikable Lösung ist, die ich bisher gesehen habe.

Missverständnis

Da dies eine Menge Verwirrung stiftete, werde ich versuchen, es aufzuklären. Es scheint, dass einige der Antworten versuchten, das Ubuntu 16-Server- Image zu verwenden, als ich speziell versuchte, eine unbeaufsichtigte Ubuntu 16-Desktop-Image-Installation zu erstellen. Das Problem entsteht aufgrund der Implementierungsunterschiede von di (debian installer) und Ubiquität. Da das Server-Image alle di-Befehle in der Voreinstellungsdatei beachtet und verwendet, sind die meisten Fragen, die ich gestellt habe, für das Server-Image irrelevant. Aufgrund der Implementierung von ubiquity als Installationsprogramm für das Desktop-Image werden jedoch viele di-Befehle ignoriert und Sie sind sehr eingeschränkt und es fehlt eine Menge Dokumentation.

Dokumentationslinks gefunden

  • Hier ist der Link für Ubiquity, der den Befehl preseed / late_command ignoriert (ich glaube, er ignoriert auch den Befehl preseed / early_command)
  • Hier ist die Ubiquity-Dokumentation, in der erläutert wird, welche Installationskomponenten in Ubiquity nicht verwendet werden. Wie Sie jedoch selbst in dieser Dokumentation feststellen werden, wird der Befehl preseed / early_command angegeben Ich (ich gebe zu, dass ich den Early_Command nicht rigoros getestet habe, damit ich mich irre).

Erfolgreicher Prozess

Hier ist mein Prozess zum erfolgreichen Erstellen einer unbeaufsichtigten Ubuntu Desktop 16.04 LTS- ISO.

Mounten Sie Ubuntu ISO

Sie müssen die ISO-Dateien bereitstellen, damit Sie die entsprechenden Dateien bearbeiten können.

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

Kopieren Sie ISO-Dateien

Wir müssen die Dateien in gemountetem ISO in ein anderes Verzeichnis kopieren, damit wir sie bearbeiten können. Fühlen Sie sich frei, ein beliebiges Verzeichnis zu verwenden. Ich habe das Verzeichnis / opt aufgrund einer anderen Vorgehensweise ausgewählt, aber / tmp könnte genauso einfach verwendet werden.

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

Bearbeiten Sie die Datei txt.cfg

Hier bearbeiten wir die Datei /opt/ubuntuiso/isolinux/txt.cfg und passen unsere Boot-Parameter an, um eine völlig unbeaufsichtigte Installation zu erhalten, die eine vordefinierte Datei enthält. Verwenden Sie einen Editor Ihrer Wahl:

#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 ---

Bitte beachten Sie ein paar Dinge:

  • Ich habe den gesamten Originaltext in der Datei auskommentiert.
  • Ich habe den gesamten Text nach und einschließlich "Standard Live-Installation" am unteren Rand hinzugefügt
  • Ich habe die Voreinstellungsdatei "ks.preseed" genannt und sie befindet sich im obersten Verzeichnis der ISO (/ opt / ubuntuiso).

Verwenden oder erstellen Sie eine Voreinstellungsdatei

Verwenden Sie eine bereits vorhandene Voreinstellungsdatei mit Vorsicht! Ich habe keine gefunden, die nur funktioniert. Das soll nicht heißen, dass sie nicht existieren, ich habe sie nur mit einigem Suchen nicht gefunden. Es gibt viele Möglichkeiten, eine Voreinstellungsdatei zu konfigurieren, aber ich habe viele Optionen gefunden, die ignoriert werden müssen. Diese sind in der Ubiquity-Dokumentation, die ich oben verlinkt habe, und im Link für Voreinstellungs- / Spätbefehl vs Ubiquity / Erfolgsbefehl aufgeführt. Ich füge meine einfache Arbeitsvoreinstellungsdatei bei, die mit der obigen txt.cfg-Datei zusammenarbeitet.

Für die Zeichenfolgen "netcfg / get_hostname" und " netcfg / get_domain" können Sie angeben , was Sie möchten. Ich habe den nicht zugewiesenen Hostnamen und die nicht zugewiesene Domäne verwendet, da ich sie später nur durch einen Skriptprozess ändern werde.

Für jeden benutzerdefinierten Befehl, den Sie nach der Installation ausführen möchten, müssen Sie Folgendes verwenden:

ubiquity ubiquity/success_command string

Gefolgt von einem beliebigen Befehl, den Sie ausführen möchten. Achten Sie darauf, die Zeichenfolgen mit "; \" fortzusetzen und "/ target" zu verwenden, um Änderungen am neu installierten System vorzunehmen.

# 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/

Bitte beachten Sie diese Dinge, da ich sie zur Veranschaulichung hinterlassen habe und sie sich wahrscheinlich in Ihrem Voreinstellungsbefehl unterscheiden werden.

  • Das Benutzer- / Root-Passwort muss von Ihnen hinzugefügt werden. Hier ist der Link, der Ihnen 3 verschiedene Möglichkeiten zeigt, ein Passwort für Crypt 3 zu erstellen.
  • Möglicherweise möchten Sie die Gruppen ändern, denen Ihr Benutzer zugewiesen ist.
  • Sie werden auf jeden Fall den success_command ändern wollen. Ich habe es verlassen, um zu zeigen, wie es formatiert werden kann und wie die / target- Umgebung verwendet wird.

Neue ISO erstellen

Erstellen Sie die ISO, damit Sie Ihre Voreinstellungsdatei testen können. Wenn Sie eine verwenden oder eine eigene erstellen , müssen Sie diese testen, da dies wahrscheinlich der Ort ist, an dem Ihr Prozess fehlschlägt. Ich habe ein Skript zum schnellen Testen geschrieben, aber Sie können die Voreinstellungsdatei einfach auf eine von http: // gehostete Voreinstellungsdatei verweisen und auf diese Weise sehr schnell testen.

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

Sie können den Namen der Ausgabe und das Verzeichnis ändern, in dem Sie sie speichern möchten.

ISO brennen

Ich würde vorschlagen, auf virtualbox oder dergleichen zu testen und wenn Sie es haben, dann brennen Sie es auf eine DVD. Sie sollten jetzt eine unbeaufsichtigte Installations-DVD für Ubuntu Desktop 16.04 LTS haben.

Feedback, Korrekturen, Fehler

Ich habe das alles auf einmal geschrieben und es kann Fehler, Tippfehler oder Dinge geben, die auf dem Weg durcheinander gekommen sind. Wenn jemand dies versucht, lassen Sie es mich bitte wissen, wenn Sie auf einen Fehler stoßen. Und bitte denken Sie daran, dass ich, wenn Sie Ihre eigene Voreinstellungsdatei erstellen, wahrscheinlich nicht antworten kann, warum Ihre unbeaufsichtigte Installation fehlerhaft ist und nicht funktioniert, da Ubiquity bestimmte Dinge in der Voreinstellungsdatei gerne ignoriert und nicht ausführt. Ich hoffe das hilft jemandem weiter.

Brandon Authier
quelle
Hallo @BrandonAuthier, vielen Dank für die Informationen, die Sie hier geteilt haben. Ich habe alle Ihre Schritte sehr sorgfältig verfolgt und schließlich versucht, einen bootfähigen USB-Stick aus dem /tmp/ubuntu16-desktop-unattended-install.iso-Image zu machen, der schließlich erstellt wurde. Zu tun , dass ich diesen Befehl als root verwendet (mein USB - Gerät / dev / sdc ist): dd if=/tmp/ubuntu16-desktop-unattended-install.iso of=/dev/sdc bs=4M && sync. Leider ist der USB-Stick (nur wenn er diese benutzerdefinierte ISO enthält: er funktioniert für die ursprüngliche) nicht in den vorgeschlagenen Startoptionen enthalten, sodass er anscheinend nicht "bootfähig" ist. Vielleicht haben Sie eine Vorstellung davon, was passiert?
Hadrien TOMA
Tatsächlich wird der USB-Stick als "Diskettenlaufwerk" anstatt als "USB-Speichergerät" (von dem ich booten kann) angesehen.
Hadrien TOMA
1
Ich denke, einen bootfähigen USB-Stick zu erstellen ist etwas anders und erfordert das Umbenennen von isolinux / und isolinux.cfg in syslinux / und syslinux.cfg. Ich habe dies für eine CD / DVD geschrieben und habe es in einer VM zum Testen verwendet und dann über eine DVD installiert. Ich habe nicht versucht, daraus einen bootfähigen USB-Stick zu machen, aber es könnte eine Reihe von Problemen mit dem Befehl dd geben. Wenn Sie diese Namen nicht geändert haben, war das wahrscheinlich ein Teil davon. Wenn Sie den USB nicht richtig formatiert und ihm mit fdisk ein bootfähiges Flag gegeben haben, könnte dies ein anderes sein. Wenn ich etwas mehr Zeit habe, könnte ich herausfinden, wie es geht und es posten.
Brandon Authier
1
Ich empfehle dringend, mkusbdie ISO-Datei auf einen USB-Stick zu legen, wenn Sie sich nicht mit den Problemen beim Booten von Linux und dem Laden von Grub / Syslinux auskennen.
Dragon788
1
@HadrienTOMA dragon788 hat wahrscheinlich recht mit mkusb, wenn Sie einen Ubuntu-Rechner haben, da er von einem PPA installiert werden soll. Ehrlich gesagt, es lohnt sich zu lernen, wie man den USB mit fdisk formatiert, das richtige Dateisystem erstellt und dann dd-ing. Das einzige, was mir Sorgen machte, war, dass mein ISO-Image möglicherweise nicht funktioniert, wenn ich es einfach kopiere. Ich werde es Sie wissen lassen, sobald ich die Gelegenheit habe, es auszuprobieren.
Brandon Authier
1

Es tut mir leid zu hören, dass meine frühere Methode nicht funktioniert hat. Glücklicherweise habe ich ein Skript von Rinck Sonnenberg ( netson ) gefunden, das unbeaufsichtigte AMD64-ISOs von Ubuntu Server auf GitHub erstellen würde, und ich habe es gespalten . Anschließend habe ich das Skript durch Hinzufügen der Funktion zum Erstellen von I386-ISOs verbessert. Ich habe auch das Betriebssystem von Ubuntu Server auf Ubuntu Desktop geändert. Sie müssen das GitHub-Repository nicht besuchen. Folgen Sie einfach den nachstehenden Anweisungen.

Führen Sie diese Befehle aus:

$ 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

Manchmal wgetist nicht verfügbar. In diesem Fall verwenden Sie curl:

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

Wenn nichts davon funktioniert, laden Sie es herunter und verschieben Sie es in Ihren privaten Ordner.

Anschließend werden Sie gefragt, welche Ubuntu-Version installiert werden soll und welche Fragen Ubuntu stellen würde, wenn Sie eine manuelle Installation durchführen würden. Das Skript lädt dann die Ubuntu-ISO herunter und wendet die angeforderten Änderungen an. Sie haben jetzt eine ISO, die für eine unbeaufsichtigte Installation bereit ist!

Dies sollte Ihre Frage beantworten, da es für mich gut funktioniert hat. Es ist auch gut, dass diese Methode viel einfacher ist als meine frühere Antwort. Ich hoffe, es funktioniert bei Ihnen genauso wie bei uns.

iplustech.net
quelle
1
Ich freue mich über die Antwort und nachdem ich Ihr Skript gelesen habe, sehe ich, dass Sie Ubuntu Server verwenden, von dem ich bereits mehrfach ausdrücklich gesagt habe, dass ich ihn nicht mehr verwenden möchte. Ich weiß bereits, dass Ubuntu Server di verwendet und tatsächlich die traditionellen Voreinstellungsparameter verwendet. Ich möchte jedoch Ubuntu Desktop, wie meine Frage eindeutig besagt. Ich möchte den Server nicht installieren und muss nach der Installation die Desktop-Version erstellen.
Brandon Authier
OKAY. Ich werde es auf Ubuntu Desktop ändern.
iplustech.net
Ich habe es repariert. Ich hoffe, es funktioniert jetzt für Sie.
iplustech.net
1
Nun, es sollte sehr einfach sein - Ihr Skript lädt nur SERVER-Bilder herunter - was nicht das ist, wonach ich gefragt habe, und aus diesem Grund schlägt Ihre Skriptlösung fehl. Es hat alles mit meinem System zu tun und ist nichts Ungewöhnliches, da es sich um die DESKTOP-Version handelt, die ich in der Frage zu diesem Thread ausdrücklich angegeben habe. Vielen Dank, dass Sie es versucht haben, aber das Server-Image wird diese Frage nicht lösen.
Brandon Authier
2
github.com/iPlus-TechNet gibt es nicht mehr? Ich habe einen 404-Fehler.
Hadrien TOMA
1

Schauen Sie sich Folgendes an: https://github.com/core-process/linux-unattended-installation

Dieses Projekt bietet alles, was Sie zum Erstellen einer unbeaufsichtigten Installation eines minimalen Linux-Setups benötigen, während "minimal" zum leichtesten Setup - einschließlich eines OpenSSH-Dienstes und Python - führt, das Sie vom Standardinstallationsprogramm einer Linux-Distribution ableiten können. Die Idee ist, dass Sie die gesamte weitere Bereitstellung Ihrer Konfigurationen und Dienste mit Hilfe von Ansible oder ähnlichen Tools durchführen, sobald Sie die minimale Einrichtung abgeschlossen haben.

Niklas
quelle
Hmm, sieht etwas interessant aus. Ich würde definitiv auf 18.04 LTS warten, aber ich kann damit herumspielen, um zu sehen, wie es funktioniert. Ich habe es bereits gelöst, indem ich alles wie oben beschrieben herausgefunden habe. Zu sehen, wie andere Leute es lösen, ist jedoch immer gut für andere Ideen.
Brandon Authier
1
Unterstützung für das Erstellen von Disk-Images sowie von ISO-Images wurde hinzugefügt. Genießen!
Niklas
1

Toller Job Brandon Authier für deinen Beitrag und deine Anweisungen, du hast mir sehr geholfen.

Ich hatte jedoch ein Problem mit Ihrer Methode: Ich fand heraus, dass GRUB nach Abschluss der Installation und einem Neustart des PCs hängen bleibt.

Also habe ich dem ks.preseed folgendes hinzugefügt:

# 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

Dies verhindert ein Abstürzen der Grub-Installation, wenn Sie den USB-Stick nicht entfernen. Ich habe dies von https://www.debian.org/releases/stable/example-preseed.txt erhalten

RomanuX
quelle
Also hing es, weil der USB noch eingesteckt war und versucht hat, wieder vom USB zu booten? Ich kann dies definitiv zu der obigen Voreinstellungsdatei hinzufügen, wollte aber sicherstellen, dass ich weiß, was passiert ist und was dies verhindert.
Brandon Authier
0

BITTE VERSUCHEN SIE DIESE METHODE NICHT. FUNKTIONIERT NICHT (AUSSER SIE VERSUCHEN, DIE ZEIT ZU TÖTEN):

Ich habe die Antwort darauf überall gesehen. Ich werde Ihnen die gebräuchlichste Lösung nennen. Ich habe es noch nie zuvor selbst ausprobiert, daher ist es möglicherweise veraltet. Ich verstehe den Punkt wirklich nicht, da es einfacher wäre, eine manuelle Installation selbst durchzuführen, aber auf jeden Fall ...

Melden Sie sich als root an oder führen Sie es aus $ sudo su -

Laden Sie die ISO herunter und hängen Sie sie ein. Tun Sie dies NICHT manuell von der Ubuntu-Website.

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

Sichern und verschieben Sie relevante Dateien.

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

Blockieren Sie das Erscheinen des Sprachteils der Benutzeroberfläche

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

Fügen Sie eine "Kickstart" -Datei hinzu.

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

[OPTIONAL] Fügen Sie Pakete für Ihre Installation hinzu

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

Oder suchen Sie einfach in Ihren Dateien danach und bearbeiten Sie sie direkt. Fügen Sie den %packagesAbschnitt hinzu und platzieren Sie Ihre Pakete darunter.

%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

Wie ich bereits sagte, habe ich das noch nie selbst gemacht. Wenn Sie also eine Konfiguration wie die oben genannte hätten, könnte es sein, dass der LAMP-Stack nicht installiert wird und Sie dies später manuell tun müssten.

Unterdrücke Fragen mit einer "vorgefertigten" Datei.

# 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

Aktivieren Sie die Dateien:

# vi isolinux/txt.cfg

Dann suchen Sie nach:

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

Sie müssen dann hinzufügen , ks=cdrom:/ks.cfgund preseed/file=/cdrom/ks.preseed. Entfernen Sie Wörter quietund vga=788, so sieht es so aus:

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

Jetzt können Sie die neue Antwort erstellen:

# 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

Und los geht's!

iplustech.net
quelle
Nun , da ich mich umsah habe, sah ich genau die gleiche Formel hier von Elazar Leibovich . Ich glaube, ich hatte Recht damit, dass es am häufigsten vorkommt.
iplustech.net
1
Hmmm, ich bin mir nicht sicher, was mit meinem Kommentar vor diesem Beitrag passiert ist ... Diese obige Methode FUNKTIONIERT NICHT . Wenn Sie dies lesen und nach der Antwort suchen, versuchen Sie es bitte nicht. Es ist Zeitverschwendung. Ich verknüpfe diesen genauen Prozess in meiner ursprünglichen Frage, in der die Fehler dieser Methode klar umrissen werden: ks sind viel zu begrenzte ps-Dateien ab Ubuntu 16.01. Aufgrund der Allgegenwart werden viele Funktionen ignoriert. Txt.cfg funktioniert nicht für Ubuntu Desktop 16.04 as Angezeigt durch diesen oder andere Posts Sie müssen einige Boot-Parameter übergeben, um zu umgehen und jemals das Ps-Ding für die Allgegenwart zu erreichen
Brandon Authier
3
Das Plakat hat meinen Beitrag offenbar nicht gelesen. Er schrieb: "Ich habe es noch nie zuvor selbst ausprobiert , daher ist es möglicherweise veraltet. Ich verstehe den Sinn des Problems nicht wirklich , da es einfacher wäre, eine manuelle Installation durchzuführen, aber auf jeden Fall ...". Habe es nicht mal ausprobiert und behauptet, es sei eine Lösung ??? Zweitens erkläre ich, dass ich eine unbeaufsichtigte Installation möchte, bei der ich weggehen kann. Nicht manuell. Stellen Sie sich vor, Sie installieren 100 Boxen. Möchten Sie das manuell tun? Nein
Brandon Authier
Oh. Das tut mir leid. Ich könnte nach anderen Wegen suchen, um dies zu tun.
iplustech.net