[gelöst] automatische Installation

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

[gelöst] automatische Installation

Beitrag von joe2017 » 20.07.2018 14:41:38

Abgetrennt aus TID 170327 Debian Klonen --wanne
smutbert hat geschrieben: ↑ zum Beitrag ↑
20.07.2018 14:02:30
Überraschungen gibt es unter Umständen noch zusätzlich, wenn ein ganzer Haufen geklonter Systeme, denselben Hostnamen, dieselben ssh-Hostkeys und dieselbe »/etc/machine-id« (bei letzterer weiß ich nicht wofür die verwendet wird) hat.
Den Hostnamen, die IP Address usw. hätte ich nachträglich natürlich angepasst.

Wenn es eine vollautomatisierte Installation inkusive scripting gibt wäre das auch eine Möglichkeit. Jedoch würde das auch wieder zu viel Zeit in Anspruch nehmen. Ein einfaches clonen einer SSD wäre sicherlich einfacher.

Ich hatte das ganze mal mit dem preseed.cfg File getestet. Jedoch hat die automatische Installation nie funktioniert. Hier hab ich irgendetwas falsch gemacht?
  • Ich habe das Debian 9.4.0 Image auf den USB Stick entpackt.
  • Ich habe die preseed.cfg auf die Root Ebene des USB Sticks kopiert
  • Und die Datei syslinux.cfg auf der Root Ebene angepasst

Code: Alles auswählen

DEFAULT loadconfig

LABEL loadconfig
  CONFIG /isolinux/isolinux.cfg
  APPEND /isolinux/ preseed/file=/hd-media/preseed.cfg
  • Anschließend vom USB Stick gebootet
  • Advanced options --> Automated install
Zuletzt geändert von joe2017 am 02.08.2018 10:00:04, insgesamt 3-mal geändert.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Debian Klonen

Beitrag von ThorstenS » 20.07.2018 17:14:20

Eine reine preseed-Installation empfinde ich als pain in the ass - habe ich mir vor Jahren mühsam erarbeitet und empfinde es als überholt.
FAI ist der bessere Ansatz, zumal die Partitionierung mit LVM und software Raid da einfach einfach ist.
Erstell dir mal mit FAIme ein ISO und pack es auf nen USB-stick: https://fai-project.org/FAIme/

Cloning ist schnell, flexibler ist aber eine automatische Installation.
Und FAI ist dafür auch nach 18 Jahren kein überholtes Stück Software. Baucht halt Zeit sich da einzuarbeiten…

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Debian Klonen

Beitrag von heisenberg » 20.07.2018 17:32:35

FAI ist auch dafür gut geeignet, dass Du an verschiedenen Stellen Scripte(Shell, Python, ...) reinhängst, die die Systeme anpassen können. Dafür braucht man jetzt noch nicht unbedingt den großen Hammer Ansible, Chef, Puppet, ... o .a.

Ich nutze es schon länger und installiere damit Debian, Ubuntu, CentOS als den ersten Installationsschritt. Hat sich in den vergangen Jahren immer gut anpassen lassen auf die aktuellen Betriebssysteme.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: automatische Intsallation

Beitrag von joe2017 » 23.07.2018 09:03:10

Dann werde ich mir den FAI doch mal anschauen. Nachdem ich mir die ersten Systemanforderungen bzw. benötigten Softwarekomponenten durchgelesen hatte, dachte ich mir nur, dass der Aufwand etwas größer wäre.

Schon mal Danke für eure Meinung hierzu.

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: automatische Intsallation

Beitrag von joe2017 » 23.07.2018 12:27:24

Bereits jetzt finde ich schon diverse Schwirigkeiten bei der Installation. Das Thema FAI scheint wohl doch größer zu sein als ich dachte.

Gibt es noch eine Alternative hierzu? Prinzipiell würde ja ein einfaches Imaging reichen.
Unter Windows geht das eigentlich ganz einfach. SYSPREP, IMAGING, ENPACKEN, FERTIG.

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: automatische Intsallation

Beitrag von heisenberg » 23.07.2018 12:37:00

Dir ist natürlich klar, dass Du dann beim Imaging evtl. in Hardwareprobleme reinrennst, wenn z. B. die Plattengrößen unterschiedlich sind. D. h. entweder zu verschwendest den Platz einfach und lässt ihn ungenutzt liegen oder Du musst für die Anpassung des Festplattenlayouts dann eigene Scripte schreiben, die Partitionierung und Dateisysteme dan vergrößern. (Dazu hat wanne ja schon etwas geschrieben).

Scripte, die anschließend noch Anpassungen durchführen, wirst Du ja wahrscheinlich ohnehin implementieren müssen?
Die liegen dann am besten im Netzwerk, so dass man dann am Image nicht mehr rumfingern muss.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: automatische Intsallation

Beitrag von joe2017 » 23.07.2018 13:54:32

Die Plattengröße wäre jetzt erstmal das geringste Problem. In Kürze werden bei alle Arbeitsstationen neue SSD Festplatte verbaut.
Ein Script welches meinen Hostname, die IP Adresse inklusive meiner Kerberos PRINZIPALS ändert hab ich bereits geschrieben. Muss ich bei DEBIAN noch etwas anpassen? Evtl. den SSH Fingerprint oder ähnliches?

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: automatische Intsallation

Beitrag von heisenberg » 23.07.2018 14:03:36

SSH-Fingerprint
Ja. SSH-Host-Keys würde ich neu generieren.

---

Ansonsten: Spätestens ab Buster ist Predictable Network Interface Names sicher dabei. D. h. entweder die Rechner sind bzgl. der Netzwerk-typ-ausstattung 100% identisch, oder Du musst die Netzwerkinterfacenamen anpassen. Kann man das da noch abschalten via Kernel-Commandline: net.ifnames=0 ?
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: automatische Intsallation

Beitrag von joe2017 » 23.07.2018 14:12:58

Dann werde ich das ganze mal so versuchen.

Gibt es zufällig eine einfache Methode die Partitionen von einer vorhanen Platte ohne Inhalt zu klonen.
Oder muss ich diese manuell anlegen damit ich anschließend meine Images in diese entpacken kann?

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: automatische Intsallation

Beitrag von heisenberg » 23.07.2018 14:20:43

sfdisk -d schreibt einen Text-Dump der Partitionstabelle, den sfdisk auch als Eingabe für eine Partitionierung verwenden kann.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: automatische Installation

Beitrag von ThorstenS » 23.07.2018 23:40:29

Und dann dran denken blockdev --rereadpt aufzurufen. sfdisk unterstützt -R nicht mehr - siehe manpage.

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: automatische Installation

Beitrag von heisenberg » 24.07.2018 08:44:41

... oder partprobe
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: automatische Installation

Beitrag von joe2017 » 24.07.2018 14:37:43

Also ich habe das ganze jetzt mal folgendermaßen getestet.

Partitionen vorbereiten

Code: Alles auswählen

sudo sfdisk -d /dev/sda > /path/sda.out
sudo sfdisk /dev/sdb < /path/sda.out
Partition klonen

Code: Alles auswählen

sudo apt install partclone
sudo partclone.ext4 -c -s /dev/sdb1 -o /path/sdb1.iso
sudo partclone.ext4 -r -s /path/sdb1.iso -o /dev/sdc1
Anschließend erhalte ich jedoch während dem Booten folgende Fehlermeldung. Diese hab ich aus dem Logfile /var/log/syslog entnommen.

Code: Alles auswählen

Jul 24 14:30:43 CLIENT systemd[1]: Reached target System Time Synchronized.
Jul 24 14:30:43 CLIENT systemd[1]: dev-disk-by\x2duuid-b06fbfb1\x2dc38a\x2d4d21\x2d90eb\x2d1689daa6c601.device: Job dev-disk-by\x2duuid-b06fbfb1\x2dc38a\x2d4d21\x2d90eb\x2d1689daa6c601.device/start timed out.
Jul 24 14:30:43 CLIENT systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-b06fbfb1\x2dc38a\x2d4d21\x2d90eb\x2d1689daa6c601.device.
Jul 24 14:30:43 CLIENT systemd[1]: Dependency failed for /dev/disk/by-uuid/b06fbfb1-c38a-4d21-90eb-1689daa6c601.
Jul 24 14:30:43 CLIENT systemd[1]: Dependency failed for Swap.
Jul 24 14:30:43 CLIENT systemd[1]: swap.target: Job swap.target/start failed with result 'dependency'.
Jul 24 14:30:43 CLIENT systemd[1]: dev-disk-by\x2duuid-b06fbfb1\x2dc38a\x2d4d21\x2d90eb\x2d1689daa6c601.swap: Job dev-disk-by\x2duuid-b06fbfb1\x2dc38a\x2d4d21\x2d90eb\x2d1689daa6c601.swap/start failed with result 'dependency'.
Jul 24 14:30:43 CLIENT systemd[1]: dev-disk-by\x2duuid-b06fbfb1\x2dc38a\x2d4d21\x2d90eb\x2d1689daa6c601.device: Job dev-disk-by\x2duuid-b06fbfb1\x2dc38a\x2d4d21\x2d90eb\x2d1689daa6c601.device/start failed with result 'timeout'.
Ich denke mal das es mit den Einträgen der FSTAB zu tun hat. Muss ich diese für die neue SSD anpassen?

Ich habe jetzt herausgefunden, dass meine neue SWAP Partition gar keine UUID zugewiesen bekommen hat.
Diese hab ich mir mit sudo blkid anzeigen lassen.

Mit folgendem Befehl hab ich meine SWAP Partition neu anlegen lassen.

Code: Alles auswählen

sudo mkswap /dev/sdb5
Jetzt konnte ich die erstellte UUID auch in die FSTAB eintragen. Jedoch erhalte ich während des Bootens immer noch fehlermeldungen. Also ist das ganze auch nicht so eine saubere Lösung.

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: Debian Klonen

Beitrag von joe2017 » 24.07.2018 15:43:19

ThorstenS hat geschrieben: ↑ zum Beitrag ↑
20.07.2018 17:14:20
Eine reine preseed-Installation empfinde ich als pain in the ass - habe ich mir vor Jahren mühsam erarbeitet und empfinde es als überholt.
Hast du eine Idee weshalb die preseed.cfg bei mir nicht geladen wird? Wie hast du das damals hinbekommen? Evtl. schau ich mir das noch mal an.
Oder hat jemand andere Erfahrungen mit cloning gemacht und kann mir außer FAI etwas empfehlen?

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: automatische Installation

Beitrag von joe2017 » 25.07.2018 16:19:50

Also ich habe hinbekommen, dass meine preseed.cfg geladen wird. Jedoch musste ich das manuell eintragen. Ich habe gehooft, dass diese automatisch geladen werden kann.

Aktuelle Vorgehensweise

Code: Alles auswählen

- von USB Stick booten
- Advanced Options
- Automated Install
- Netzwerkkarten konfig überspringen
- PRESEED FILE ANGEBEN (file:///cdrom/preseed.cfg)
Ein Eintrag in der syslinux.cfg hat diese nicht geladen

Code: Alles auswählen

preseed/file=/cdrom/preseed.cfg

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: automatische Installation

Beitrag von ThorstenS » 25.07.2018 16:32:35

Ich habe mit Debiansimple-cdd meine eigene Installationsmedien gebaut. Mit einem eigenen udeb, welches während der Installation Dinge abgefragt hat und zusätzliche Pakete installieren oder configs platzieren konnte.
Aber schau dir das lieber nicht an, das tool verlangt von dir deutlich mehr ab, als clonezilla. Damit habe ich Monate verbracht, bis alles exakt so lief, wie ich es haben wollte.

Der einfachste Weg sich eine preseed Datei in ein ISO zu platzieren, wird hier beschrieben:
https://wiki.debian.org/DebianInstaller/Preseed/EditIso

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: automatische Installation

Beitrag von joe2017 » 25.07.2018 17:02:53

ThorstenS hat geschrieben: ↑ zum Beitrag ↑
25.07.2018 16:32:35
Der einfachste Weg sich eine preseed Datei in ein ISO zu platzieren, wird hier beschrieben:
https://wiki.debian.org/DebianInstaller/Preseed/EditIso
Das habe ich auch schon mehrfach versucht und getestet. Jedoch hat das wie schon geschrieben nicht funktioniert.

Ein Eintrag in der syslinux.cfg hat diese nicht geladen

Code: Alles auswählen

preseed/file=/cdrom/preseed.cfg

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: automatische Installation

Beitrag von ThorstenS » 25.07.2018 17:10:20

erstaunlich, die eingebettete preseed Datei aus der initrd wird immer geladen.
Hast du das ISO-Image auf einen USB-stick gepackt, oder eine CD gebrannt?
Beim USB stick wird die syslinux.cfg geladen, beim Booten von CD die isolinux.cfg.

Edit:
Anstelle von preseed/file kannst du auch mal preseed/url benutzen, geht vllt. schneller als immer wieder nen ISO zu bauen…

Code: Alles auswählen

preseed/url=http://192.168.2.100/preseed.cfg
Edit2:
den pain in the ass Ausspruch von oben verstehst du sicherlich …

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: automatische Installation

Beitrag von joe2017 » 25.07.2018 17:25:08

ThorstenS hat geschrieben: ↑ zum Beitrag ↑
25.07.2018 17:10:20
erstaunlich, die eingebettete preseed Datei aus der initrd wird immer geladen.
Hast du das ISO-Image auf einen USB-stick gepackt, oder eine CD gebrannt?
Beim USB stick wird die syslinux.cfg geladen, beim Booten von CD die isolinux.cfg.
Wahrscheinlich liegt hier das Problem. Ich nutze zwar einen USB Stick, jedoch wird meine preseed.cfg nur geladen wenn ich während der Installation file:///cdrom/preseed.cfg angebe?
Dann wird wahrscheinlich nicht meine syslinux.cfg, sondern meine isolinux.cfg verwendet. Dann kann ich natürlich viel in syslinux.cfg eintragen.

Jedoch ist die isolinux.cfg anders aufgebaut. An welcher Stelle muss ich die preseed.cfg hier angeben?

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: automatische Installation

Beitrag von joe2017 » 26.07.2018 09:23:35

Kann es vielleicht sein, dass an der Stelle wo die Datei eingebunden wird, noch gar kein /cdrom/ existiert?

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: automatische Installation

Beitrag von heisenberg » 26.07.2018 09:42:31

joe2017 hat geschrieben: ↑ zum Beitrag ↑
26.07.2018 09:23:35
Kann es vielleicht sein, dass an der Stelle wo die Datei eingebunden wird, noch gar kein /cdrom/ existiert?
Unwahrscheinlich. Aus eigener Erfahrung würde ich eher sagen: Das liegt daran, dass Du irgendwo einen Fehler drin hast:
  • Falscher Dateiname irgendeiner config
  • Falsche Config verwendet
  • Fehler in der Konfigurationsdatei
Grundsätzlich kannst Du die Konfigurationsdatei(en) nochmal ins NoPaste setzen, dann kann man von hier aus nochmal draufschauen. Vielleicht sticht jemandem hier sofort der Fehler ins Auge. Auch nochmal mal ganz genau die Preseed-Dokumentation durchlesen: https://wiki.debian.org/DebianInstaller/Preseed. Vielleicht fällt Dir dabei ein Fehler bei Deinem Setup auf.

Edit-1

Vielleicht bei der Installation auch nochmal auf den anderen Textkonsolen schauen, ob da irgendwelche Meldungen bzgl. Preseeding-Datei stehen, die gefunden oder nicht gefunden oder wegen Fehlern in der Datei nicht verwendet wird.

Nebenbei: Ich selbst habe mit Preseeding noch keine Erfahrungen. Deswegen sind alle Tips von mir rein aus der Erfahrung, was evtl. helfen könnte.
Zuletzt geändert von heisenberg am 26.07.2018 09:57:39, insgesamt 1-mal geändert.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: automatische Installation

Beitrag von joe2017 » 26.07.2018 09:56:31

Also meine Config Files habe ich doch schon mehrmals gepostet. Aber zur Sicherheit hier noch einmal.

- Ich habe meine preseed.cfg auf die ROOT Ebene meines USB Sticks kopiert.
- Ich habe die Datei syslinux.cfg bearbeitet und diese sieht jetzt folgendermaßen aus:

Code: Alles auswählen

DEFAULT loadconfig

LABEL loadconfig
  CONFIG /isolinux/isolinux.cfg
  APPEND /isolinux/ preseed/file=/cdrom/preseed.cfg
Ich weiß, ich habe einen USB Stick und in die Config müsste eigentlich preseed/file=/hd-media/preseed.cfg geschrieben werden.
Wenn ich jedoch die Datei im Setup angebe, wird diese nur mit /cdrom/ erkannt. Aus welchem Grund auch immer? Ich habe allerdings auch schon beides getestet.

Die Variante mit der initrd finde ich nicht ganz so gut, da ich bei Änderungen jedes mal eine neue ISO erstellen muss. Das hat übrigens auch nicht wirklich funktioniert.

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: automatische Installation

Beitrag von heisenberg » 26.07.2018 10:03:38

Sorry habe die Datei nicht gesehen.

Code: Alles auswählen

DEFAULT loadconfig

LABEL loadconfig
  CONFIG /isolinux/isolinux.cfg
  APPEND /isolinux/ preseed/file=/cdrom/preseed.cfg
Auszug aus der Preseeding-Dokumentation(https://www.debian.org/releases/stable/ ... 02.html.en):

Code: Alles auswählen

- if you're installing from USB media (put the preconfiguration file in the
  toplevel directory of the USB stick):
  preseed/file=/hd-media/preseed.cfg
Demzufolge sollte preseed/file=/cdrom/preseed.cfg falsch sein und preseed/file=/hd-media/preseed.cfg sollte richtig sein.

Ansonsten wundert mich in der folgende Zeile ...

Code: Alles auswählen

APPEND /isolinux/ preseed/file=/cdrom/preseed.cfg
speziell das alleinstehende /isolinux/. Ich frage mich ob das richtig ist und würde das im Zweifelsfall weglassen.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: automatische Installation

Beitrag von joe2017 » 26.07.2018 10:20:27

joe2017 hat geschrieben: ↑ zum Beitrag ↑
26.07.2018 09:56:31
Ich weiß, ich habe einen USB Stick und in die Config müsste eigentlich preseed/file=/hd-media/preseed.cfg geschrieben werden.
Wenn ich jedoch die Datei im Setup angebe, wird diese nur mit /cdrom/ erkannt. Aus welchem Grund auch immer? Ich habe allerdings auch schon beides getestet.
Aber du hast schon gelesen was ich geschrieben habe? ;-)

Ich habe auch nur wie in der Beschreibung angegeben, den Inhalt an die bestehende APPEND Zeile angehängt. Meine Original Datei sieht demzufolge so aus:

Code: Alles auswählen

DEFAULT loadconfig

LABEL loadconfig
  CONFIG /isolinux/isolinux.cfg
  APPEND /isolinux/

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: automatische Installation

Beitrag von joe2017 » 26.07.2018 10:53:32

Ich habe während des Setups mal in die Konsole ALT+F2 gewechselt und hier in das /var/log/syslog geschaut. Wenn ich hier nach meiner preseed.cfg suche finde ich keinen Eintrag. Dies müsste bedeuten, dass erst gar nicht versucht wird eine Datei zu laden oder?

Antworten