[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
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: 1136
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: 1136
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: 1136
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: 3540
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.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
joe2017
Beiträge: 1136
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: 3540
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.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
joe2017
Beiträge: 1136
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: 1136
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?

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

Re: automatische Installation

Beitrag von heisenberg » 26.07.2018 11:36:17

Nein. Das heisst erst mal dass da nichts geloggt wird. D. h. das ist keine Information, aus der Du etwas ableiten kannst.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

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

Re: automatische Installation

Beitrag von joe2017 » 27.07.2018 12:14:42

Also aktuell funktioniert die automatische Installation nur wenn ich die Datei/Pfad währed des Sutups angebe. Automatisch wird die Datei nicht geladen?

Kann es sein, dass wenn am Ende ein Script (d-i preseed/late_command string cp -a /hd-media/'Quellverzeichnis mit Skript'/ /target/; chmod +x /target/'Zielverzeichnis zum Skript'/*.sh; in-target /'Zielverzeichnis zum Skript'/skript.sh) ausgeführt wird, keine Drucker in CUPS installiert werden kann? Mein script läuft sauber durch, lediglich mein aufgerufenes Drucker Script funktioniert nicht. Oder kann ich an dieser Stelle kein Script aus dem Script aufrufen?

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

Re: automatische Installation

Beitrag von joe2017 » 27.07.2018 14:41:14

Also ich hab die Drucker Installation jetzt mal manuell in das erste Script geschrieben. Auch hier wird kein Drucker installiert.

Code: Alles auswählen

sudo lpadmin -p "Printer" -E -v socket://IP -m "driver"
Kann es sein, dass an dieser Stelle noch kein CUPS zur Verfügung steht?

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

Re: automatische Installation

Beitrag von ThorstenS » 27.07.2018 15:11:21

ja, das ist zu früh. Erst nach dem 1. Start, wenn der cupsd läuft, kannst du diesen Befehl absetzen. Das sudo ist mMn auch überflüssig.

Je mehr Anpassungen an den Systemen du vornehmen mußt, desto schneller gerätst du an die Limit vom normalen d-i und den Möglichkeiten, die er dir zur Verfügung stellt. Wenn es deine Zeit erlaubt, schiel schonmal in Richtung ansible. Da gibt es tonnenweise „Module“, die dir helfen die Systeme so zu konfigurieren, wie du es brauchst. Nach der Grundinstallation könnte ein config-management tool wie ansible aufgerufen werden und die restlichen Vorgaben herstellen.

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

Re: automatische Installation

Beitrag von joe2017 » 30.07.2018 10:39:42

Nur falls es jemanden interessiert wie ich das mit der Druckerinstallation gelöst habe.

- Jeder meiner Rechner hat mehrere Drucker installiert
- Meine Drucker haben eine zugeordnete Nummer (001,002,003...)
- Ich habe eine CSV Datei in welcher mein Rechnername und die Nummern von dem zu installierenden Drucker steht

Code: Alles auswählen

Client01,001,005,015
Client02,006,022,015
- Ich habe eine CSV Datei in welcher alle meine Druckerinformationen stehen (Nummer(001),IP,Driver,Name,Location)
- Ich lese meine 1.CSV Datei ein und ziehe mir die zu installierenden Druckernummern
- Ich baue eine Schleife mit den Druckernummern und lese die 2.CSV ein um die Informationen (Nummer(001),IP,Driver,Name,Location) für die Installationen zu erhalten
- Da der CUPS noch nicht gestartet ist, kann ich die Installation (lpadmin -p $Name -E -v socket://$IP -m $Driver -L $Location) noch nicht ausführen
- Daher schreibe ich mit CAT alle Installationen in eine Datei (druckerinstallation.sh)

Code: Alles auswählen

#!/bin/bash

lpadmin -p $Name -E -v socket://$IP -m $Driver -L $Location
lpadmin -p $Name -E -v socket://$IP -m $Driver -L $Location
lpadmin -p $Name -E -v socket://$IP -m $Driver -L $Location
usw...
- Bei jedem Computerstart lasse ich ein Script mittels eines Service (/etc/systemd/system/selfservice.service) ausführen
- Dieses Script prüft, ob das zuvor angelegte Script (druckerinstallation.sh) vorhanden ist, und wenn ja wird dieses ausgeführt
- anschließend lösche ich noch automatisch das angelegte Script (druckerinstallation.sh)

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

Re: automatische Installation

Beitrag von joe2017 » 30.07.2018 17:34:09

joe2017 hat geschrieben: ↑ zum Beitrag ↑
27.07.2018 12:14:42
Also aktuell funktioniert die automatische Installation nur wenn ich die Datei/Pfad währed des Setups angebe. Automatisch wird die Datei nicht geladen?
Das ist aktuell noch das einzige Problem. Ich muss während der Installation mit meinem USB Stick (Advanced - Auto install) immer die Preseed Datei angeben.

Code: Alles auswählen

file:///cdrom/preseed.cfg
Es wäre super wenn das noch irgendwie automatisch geladen werden könnte. Egal was ich versucht habe, es hat nichts davon funktioniert.
Komisch ist auch immer noch, dass ich obwohl ich einen USB Stick einsetze, während der Installation file:///cdrom/preseed.cfg anstatt file:///hd-media/preseed.cfg angeben muss? Nicht das dies schlimm wäre... ist nur irgendwie seltsam und irreführend. Da muss man erstmal drauf kommen.

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

Re: automatische Installation

Beitrag von ThorstenS » 31.07.2018 10:36:55

Ich habe mein altes Script ausgebuddelt und für stretch angepaßt. Das integriert die preseed.cfg - vllt. hilft es dir ja weiter:
https://gist.github.com/ThorstenS-linux ... 563c8149ac

Wenn das klappt, kannst du dir ja noch die Bootmenüs anpassen vor dem Einpacken als neues ISO, damit die Sache automatisch abläuft.

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

Re: automatische Installation

Beitrag von joe2017 » 01.08.2018 10:02:37

Das werde ich mir gleich mal ansehen.

Ich habe dir Frage zwar schon in dem anderen Post gestellt, aber wahrscheinlich hast du das nicht gesehen und hast evtl Erfahrungen damit gemacht.
Ich führe im Anschluss der Automatischen Installation ein Script aus (d-i preseed/late_command string). Kann man in dem Script eine Eingabe realisieren? Das Script läuft ja im Hintergrund. Im Vordergrund wird das Setup angezeigt.

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

Re: automatische Installation

Beitrag von ThorstenS » 01.08.2018 10:28:54

Jain
Da kratzt damit an den Möglichkeiten, die dir der d-i bietet.
Du kannst ein eigenes udeb bauen und den Installer benutzen, dem User eine Frage zu stellen. Die Antwort kannst du dann mit Shellmitteln auslesen und weiterverarbeiten.

Ich glaube zeitlich schneller kommst du ans Ziel, wenn du diese Frage nach dem 1. Reboot stellst. Ich hab grad Urlaub und bin viel unterwegs. eine detailierte Antwort muß ich dir schuldig bleiben.

Ansonsten ist diese Aufgabe mit Debiansimple-cdd lösbar. Installiere das Paket und schau dir die udebs-Dateien im Beispielordner an, z.B. ltsp.udebs - siehe https://packages.debian.org/stretch/all ... d/filelist
Das ist mMn die einfachste Möglichkeit einen professionellen Installer mit eigenen Fragen zu bauen.

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

Re: automatische Installation

Beitrag von joe2017 » 01.08.2018 10:31:29

Eigentlich geht es nicht um eine eigene Frage. Wenn ich einstellen könnte, dass trotz der Automatischen Installation der Rechnername abgefragt wird, wäre alles perfekt!

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

Re: automatische Installation

Beitrag von ThorstenS » 01.08.2018 16:58:07

du kannst beim booten tab drücken und hostname=horst54 setzen. Das übernimmt der d-i.

Wenn du dir die syslinux.cfgs selbst bastelst, kannst du dir für jeden Servernamen einen Menüpunkt vorsehen. So sah es bei mir aus, wobei connection und raid von Scripten ausgewertet wurden, die /proc/cmdline gelesen haben.

Code: Alles auswählen

MENU BEGIN                                                                                                    
MENU TITLE custom Server (HW-Raid/ Single Disk)

LABEL return_main
MENU LABEL .. eine Ebene hoch
MENU EXIT
 text help
  Die Auswahl eines Eintrags startet sofort die automatische Installation.
  ACHTUNG: Die Platten werden ohne Rueckfrage ueberschrieben.
 endtext

label horst54
menu label horst54
    kernel /install.amd/vmlinuz
    append language=de country=DE locale=de_DE.UTF-8 keyboard-configuration/xkb-keymap=de(nodeadkeys) mirror/save=true preseed/file=/cdrom/simple-cdd/default.preseed simple-cdd/profiles=custom_base priority=critical video=vesa:ywrap,mtrr vga=788 initrd=/install.amd/gtk/initrd.gz raid=hw connection=DSL hostname=horst54

label horst55
…

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

Re: automatische Installation

Beitrag von joe2017 » 01.08.2018 17:42:47

Wenn ich TAB drücke, wird mir der String angezeigt welcher geladen wird?
Hier steht

Code: Alles auswählen

install.amd/vmlinuz auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz --- quiet
In welchem File steht diese Info?

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

Re: automatische Installation

Beitrag von ThorstenS » 01.08.2018 19:38:28

In der isolinux/adgtk.cfg.

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

Re: automatische Installation

Beitrag von joe2017 » 02.08.2018 09:28:52

Suuuper! Vielen Dank!

Ich hab einfach in die Datei adtxt.cfg folgendes angehängt
Original

Code: Alles auswählen

Automated install
	kernel /install.amd/vmlinuz
	append auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz --- quiet 
Meine Datei

Code: Alles auswählen

Automated install
	kernel /install.amd/vmlinuz
	append auto=true priority=critical vga=788 initrd=/install.amd/initrd.gz --- quiet  file=/cdrom/preseed.cfg
Wenn ich von meinem USB Stick Boote wähle ich Advanced und automatische Installation aus.

Kann man hier evtl mir einem READ HOSTNAME arbeiten? Wahrscheinlich nicht oder?

Antworten