Preseeding Install-Image

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Preseeding Install-Image

Beitrag von scientific » 16.06.2016 17:53:23

Hallo!

Ich komme auf keinen grünen Zweig... Ich möchte gerne einen Install-Stick erstellen, wo mittels Presseding div. Einstellungen vorgenommen werden. Das klappt soweit.

Aber was muss ich tun, wenn ich ein paar Pakete (z.B. teamviewer) auch gleich mitinstallieren möchte, die ich zuerst manuell von den Herstellerseiten runterladen muss. Ein Stück Software will ich auch per Playonlinux vorinstallieren... sowas wird wahrscheinlich über preseeding gar nicht klappen...

Ich finde leider überhaupt keine für mich auswertbaren Informationen darüber, wo ich die Debian-Pakete auf dem Stick hinterlegen muss, und was ich im Preseeding-File angeben muss, dass zumindest die manuell zu installierenden Pakete gleich direkt installiert werden.

Eine Idee wäre es im Verzeichnisbau /pool zu hinterlegen. Ist es das? Wo finde ich brauchbare Info dazu?

lg scientific
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

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

Re: Preseeding Install-Image

Beitrag von ThorstenS » 16.06.2016 20:23:58

Wenn du ein ISO machen willst, das direkt auch eigene Pakete beinhaltet, dann benutz Debiansimple-cdd. Das erlaubt dir auf einfache Art und Weise eine preseed einzubinden und eigene Pakete und Scripte in das Medium zu integrieren.

Aber das veraltet und ist unflexibler als ein schlankes ISO oder PXE Image, welches zwar eine preseed beinhaltet, aber den Rest aus dem Netz lädt.

Ich habe mir ein iso gebaut (PXE ebenso möglich), welches nur 20MB groß ist (bzw. 56MB mit aller firmware), eigene Pakete nachinstalliert - auch aus den Backports, noch bis zu 9 weiter Repositories sind in der preseed.cfg konfigurierbar. Am Ende lasse ich ansible-pull ein playbook aus einem git-repo ziehen und die Maschine weiter konfigurieren.

Mit dem 1. Boot ist die Maschine damit grundkonfiguriert bis fertig - je nachdem wie umfangreich deine definierten ansible-Rollen sind.

Aber im Grunde genommen reicht dir schon die Zeile d-i pkgsel/include string , weil du da zusätzliche Pakete angeben kannst. In meiner preseed ist ebenso ein lokaler squid-cache angegeben, der alle debian Pakete cacht. Damit ist nur die 1. Installation langsam, der Rest flutscht schnell .

Hier mal ein Ausschnitt aus der preseed.cfg - achte auf das ansible=2*, um das backport Paket zu ziehen:

Code: Alles auswählen

### Mirror settings
d-i mirror/protocol string http
d-i mirror/country string DE
d-i mirror/http/hostname string ftp.de.debian.org
d-i mirror/http/mirror select ftp.de.debian.org
d-i mirror/http/directory string /debian/
d-i mirror/http/proxy string http://proxy:8080/
d-i mirror/suite string jessie

#bpo
d-i apt-setup/local0/repository string deb http://http.debian.net/debian jessie-backports main contrib non-free

d-i hw-detect/load_firmware boolean true

### Package selection 
tasksel tasksel/first multiselect
d-i pkgsel/upgrade select full-upgrade
d-i pkgsel/include string openssh-server ca-certificates exim4 curl lsof htop vim lsb-release firmware-linux vnstat bash-completion apt-transport-https git ansible=2*

# Hiermit kann man exim ruhigstellen:
exim4-config exim4/dc_eximconfig_configtype select no configuration at this time
exim4-config exim4/no_config boolean true
exim4-config exim4/no_config boolean true
exim4-config exim4/dc_postmaster string postmaster@meinedomain.tld

# geht nicht mit in-target! /dev/shm hack für. ansible 2
d-i preseed/late_command string mkdir -p /dev/shm; echo "none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0" >> /etc/fstab; mount /dev/shm; cp /ansible-pull.sh /target/root/ansible-pull.sh ; chroot /target /bin/sh /root/ansible-pull.sh
Wichtig ist es exim4 zu installieren, aber ruhig zu stellen. Sonst bekommst du keine Pakete installiert, die auf einen Mailer dependen (u.a. sysstat, munin etc).

Du kannst auch per wget deine heruntergeladenen Pakete in das chroot kopieren und dort installieren lassen. Oder du bläst die initrd noch weiter auf und legst die deb-Pakete dort mit rein…

lange
Beiträge: 19
Registriert: 23.10.2003 18:03:00
Wohnort: Koeln

Re: Preseeding Install-Image

Beitrag von lange » 27.11.2017 22:54:41

Jetzt gibt es ganz neu eine Möglichkeit eine eigenes angepasstes Installationsimage zu erstellen. Auf der Webseite https://fai-project.org/FAIme kannst du eingeben welche Sprache, Tastatur du haben moechtest, welchen Desktop und eigene Pakete hinzufügen. Dazu noch Username und passwort, die du natürlich nach der Installation ändern solltest. Dann wird ein Image erstellt, was du dann auf CD oder USB stick packen kannst. Die Installation läuft dann gan ohne weitere Eingaben ab.

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

Re: Preseeding Install-Image

Beitrag von ThorstenS » 28.11.2017 07:12:46

Danke Thomas, das ist eine super sinnvoller Dienst - habe ich direkt mal ausprobiert:

Code: Alles auswählen

rootpw=""
username=ansible
userpw="ansible"
partition=HOME_LVM
desktop=""
options="SSH_SERVER STANDARD NONFREE"
keyboard=de
addpkgs="vim nano- htop zerofree"
suite=stretch
nano wurde dabei auch erfolgreich deinstalliert :mrgreen:
Die Installation ist deutlich schneller, als meine bisherige preseed-Variante mit dem debian-installer. :THX:
Wenn du noch den Upload eines eigenen Scripts¹ und des ssh-keys für root ermöglichen könntest, wäre ich vollends glücklich.

Danke dir!
/thorsten

[1] ich würde gern im Nachgang noch das bpo repo aktivieren, ansible von dort holen und dann per ansible-pull meine restliche Installation abarbeiten lassen wollen.

lange
Beiträge: 19
Registriert: 23.10.2003 18:03:00
Wohnort: Koeln

Re: Preseeding Install-Image

Beitrag von lange » 24.02.2018 10:14:58

Bei dem FAI.me Service kann man nun auch den ssh key mit hochladen. Backports sind auch einfach anzuklicken. Das mit eigenen Skripten wird es erstmal nicht geben. Da muss ich noch ueberlegen in welcher Form das sinvoll ist. Ausserdem ist das schon deutlich fortgeschrittener. Wer das möchte, sollte sich direkt mit FAI beschäftigen und hat dann noch mehr Flexibilität.

Antworten