Partitionierung mit preseed

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
fiberkill
Beiträge: 221
Registriert: 28.03.2007 09:08:30

Partitionierung mit preseed

Beitrag von fiberkill » 23.05.2012 08:50:21

Hallo zusammen,
ich arbeite mich gerade in die automatische Installation von Debian-Systemen ein. Bei der Partitionierung habe ich jedoch so meine Probleme.
Kann mir bitte jemand erklären, was die Zahlen bei den Rezepten bedeuten. Vermutlich stehe ich gerad auf der Leitung:
Beispiel:
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-lvm/purge_lvm_from_device boolean true
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
#d-i partman-auto/choose_recipe select atomic
d-i partman-auto/expert_recipe string \
boot-root :: \ 40000 50 41000 ext4 \ $primary{ } $bootable{ } \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ / } \ . \ 500 10000 1000000000 ext4 \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ /local } \ . \ 32000 512 33000 linux-swap \ method{ swap } format{ } \ .


Gruß und Danke im Voraus

FK

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: Partitionierung mit preseed

Beitrag von Natureshadow » 24.05.2012 20:39:16

Hi,

das sind im Prinzip die debconf-Namen der Fragen, die dir der Installer - in der Reihenfolge - stellt. Du kannst sie dir einfach ansehen und dann mappen ;).
fiberkill hat geschrieben: d-i partman-auto/disk string /dev/sda
Wir behandeln jetzt die Festplatte /dev/sda.
fiberkill hat geschrieben: d-i partman-lvm/purge_lvm_from_device boolean true
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true
Software-RAIDs und Volume Groups entfernen.
fiberkill hat geschrieben: d-i partman-auto/expert_recipe string \
boot-root :: \ 40000 50 41000 ext4 \ $primary{ } $bootable{ } \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ / } \ . \ 500 10000 1000000000 ext4 \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ /local } \ . \ 32000 512 33000 linux-swap \ method{ swap } format{ } \
Das ist die tatsächliche Partitionstabelle: 1. Partition, Label boot-root, ext4-Dateisystem, gemountet auf /, mit Boot-Flag; 2. Partition, ext4-Dateisystem, gemountet auf /local, 3. Partition als Swap-Partition.

Vollständig auswendig kann ich das auch nicht (die Syntax für die Partitionsgrößen ist mir z.B. gerade nicht ganz klar, aber du brauchst dir nur den Installer genau ansehen - der macht nämlich auch nichts anderes, als nach Abfrage diese debconf-Werte zu schreiben!

-nik

BeWo
Beiträge: 271
Registriert: 21.10.2006 11:17:35

Re: Partitionierung mit preseed

Beitrag von BeWo » 24.05.2012 21:42:52

Hallo FK,
fiberkill hat geschrieben:Kann mir bitte jemand erklären, was die Zahlen bei den Rezepten bedeuten. Vermutlich stehe ich gerad auf der Leitung:
Nein, Du stehst nicht auf der Leitung.
Das ist auf den ersten Blick etwas verwirrend.

Eine sehr gute, detailierte Beschreibung der Rezept-Datei ist hier:
http://ftp.dc.volia.com/pub/debian/pres ... recipe.txt

Lass mich die Bedeutung der Zahlen in der Rezept-Datei anhand eines Beispiels erklären:

Code: Alles auswählen

1000 10000 20000 ext4
	method{ format }
	format{ }
	use_filesystem{ }
	filesystem{ ext4 }
	mountpoint{ / } .

1000 1000 1000 linux-swap
	method{ swap }
	format{ } .

10000 20000 1000000 ext4
	method{ format }
	format{ }
	use_filesystem{ }
	filesystem{ ext4 }
	mountpoint{ /home } .
Hier werden drei Partitionen erstellt:
- Eine root-Partition mit einer Größe zwischen 1GB und 20GB
- Eine swap-Partition mit einer Größe von 1GB
- Eine home-Partition mit einer Größe zwischen 10GB und 1TB
Wie Du jetzt wahrscheinlich schon erraten hast, sind die erste und dritte Zahl die minimale und die maximale Größe der Partition.
Die mittlere Zahl ist in der Beschreibung als <priority> bezeichnet.
Diese Zahl beschreibt das Verhältnis der Größe zu den anderen Partitionen.
Das bedeutet in diesem Beispiel folgendes (Swap wird hier jetzt einfach einmal ignoriert):

Annahme: Die Festplatte hat eine Größe von 30GB:
Root hat dann eine Größe von 10GB und /home hat eine Größe von 20GB
Andere Festplatte mit einer Größe von 60GB:
Root hat dann eine Größe von 20GB und /home hat eine Größe von 40GB
Nun nehmen wir eine Festplatte mit einer Größe von 100GB:
Root hat dann eine Größe von 20GB, da die maximale Größe der Partition mit 20GB angegeben ist.
/home hat dann eine Größe von 80GB.

Hoffentlich konnte ich das an diesem Beispiel ein wenig verständlich erklären.

Die anderen Parameter sind in der Beschreibung sehr gut erklärt.

Falls noch weitere Fragen sind: einfach melden.
Bernhard

Benutzeravatar
TRex
Moderator
Beiträge: 8085
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Partitionierung mit preseed

Beitrag von TRex » 24.05.2012 22:14:24

Als ich zuletzt damit rumexperimentiert hab, musste ich ganz schön Frust einstecken, denn die verschiedenen "recipe-handler" verhalten sich unterschiedlich. Was in einem RAID+LVM noch funktioniert, erzeugt bei reinem LVM andere Ergebnisse. Ich hab mich dann nicht mehr weiter damit befasst, weil ich die Schnauze voll hatte. Ein Trockenlauf mit so einem Script (python?), welches aus dem Script ein Tortendiagramm mit der berechneten Belegung erzeugt, zeigte mir, was ich wollte, nur der d-i nicht.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

fiberkill
Beiträge: 221
Registriert: 28.03.2007 09:08:30

Re: Partitionierung mit preseed

Beitrag von fiberkill » 25.05.2012 07:51:26

@BeWo

Vielen Dank für die Spitzenerklärung. Das hat meine Frage absolut beantwortet.

Vielleicht hasts Du oder jemand anderes auch noch eine Antwort auf meine 2. Frage.
Erklärung:
Ich habe bereits eine funktionierende preseed Datei. Bei der Installation mit dieser Datei werden die Installationsdaten von DVD geholt.
Ich habe nun ein lokales Repository eingerichtet, das im gleichen Netzwerksegment ist, wie die zu installierenden Server. Der Mirror ist über http erreichbar und funktioniert (das habe ich mit einer NetinstallCD getestet). Nun möchte die Server installieren, indem ich mit einen
USB-Stick boote auf dem die Preseed-Datei abgelegt ist. Die Dateien sollen dann vom lokalen Repo geholt werden.

Frage:
Wie müssen die d-i Einträge in der Preseed-Datei aussehen. Ich habe bereits folgende Einträger versucht:
d-i mirror/protocol string http
d-i mirror/http/hostname string xxx.xxx.xxx.xxx (ich hatte naürlich hier meine richtige IP)
d-i mirror/http/directory string /debian

Ausserdem fällt mir gerade ein, habe ich noch ein kleines Problem mit den Länder- und Keyboardeinstellungen. Ich hätte gerne die Installtion auf Englisch und ein deutsches Tastaturlayout.

Sorry für die vielen Fragen ;-(

Danke nochmal
Gruß FK

BeWo
Beiträge: 271
Registriert: 21.10.2006 11:17:35

Re: Partitionierung mit preseed

Beitrag von BeWo » 27.05.2012 13:11:17

Hallo FK
fiberkill hat geschrieben: Wie müssen die d-i Einträge in der Preseed-Datei aussehen. Ich habe bereits folgende Einträger versucht:
d-i mirror/protocol string http
d-i mirror/http/hostname string xxx.xxx.xxx.xxx (ich hatte naürlich hier meine richtige IP)
d-i mirror/http/directory string /debian
Das Protokoll ist richtig eingestellt.
Das Verzeichnis in http/directory ist auch korrekt.
Beim Hostnamen bin ich mir nicht sicher, ob da auch eine IP-Adresse stehen darf.
Probiere einmal folgendes aus:
- Entferne die komplette Zeile mit dem Hostnamen aus Deiner Preseed-Datei.
- Führe eine Testinstallation durch (Minimalsystem ist ausreichend).
- Während der Installation wirst Du nach dem Hostnamen gefragt. Hier die IP-Adresse eintragen.
- Nach der Installation findest Du auf dem System das Verzeichnis var/log/installer/cdebconf/questions.dat
- In questions.dat sind alle Parameter aufgeführt, welche während der Installation verwendet wurden.
- Irgendwo in dieser Datei wirst Du (hoffentlich) Deine IP-Adresse finden.
- An dieser Stelle kannst Du erkennen, wie die Zeile auszusehen hat.
Beispiel:
Bei mir sieht der Abschnitt so aus:

Code: Alles auswählen

Name: mirror/ftp/hostname
Template: mirror/ftp/hostname
Value: ftp.de.debian.org
Owners: d-i, choose-mirror-bin
Flags: seen
Variables:
 ID = mirror/ftp/hostname
Also muß in der Preseed-Datei in diesem Fall folgendes eingetragen werden:

Code: Alles auswählen

d-i mirror/ftp/hostname string ftp.de.debian.org
fiberkill hat geschrieben:Ich hätte gerne die Installtion auf Englisch und ein deutsches Tastaturlayout.
Das mußt Du über Boot-Parameter einstellen.
Bei mir ist es so, daß ich die Preseed-Datei auf meiner Boot-CD habe.
Zu der Zeit, wenn die Ländereinstellungen abgefragt werden, ist die CD noch nicht eingebunden.
Die Boot-Parameter habe ich in meiner isolinux.cfg direkt eingetragen:

Code: Alles auswählen

locale=de_DE console-keymaps-at/keymap=de-latin1-nodeadkeys
In Deinem Fall müsste dann folgendes eingetragen werden:

Code: Alles auswählen

locale=uk console-keymaps-at/keymap=de-latin1-nodeadkeys
Das sollte funktionieren.
Die möglichen Kürzel für die Sprache, zum Beispiel de_DE, findest Du in /usr/share/locale.

Wie sieht das bei Dir aus?
Erstellst Du Deine eigene Boot-CD?

Viele Grüße
Bernhard

fiberkill
Beiträge: 221
Registriert: 28.03.2007 09:08:30

Re: Partitionierung mit preseed

Beitrag von fiberkill » 11.06.2012 08:03:10

@BeWo
Hi, Danke erst einmal für die detailierte Antwort.
Ich habe Deine Tips noch nicht getestet werde aber heute noch damit beginnen. Zufünftig habe ich vor, mit einem USB-Stick zu booten.

Gruß FK

fiberkill
Beiträge: 221
Registriert: 28.03.2007 09:08:30

Re: Partitionierung mit preseed

Beitrag von fiberkill » 12.06.2012 12:42:03

@BeWo
Hi,
ich habe mir die mini.iso der Debian.org Seite heruntergeladen und auf einen USB-Stick kopiert.
Danach sind 2 Partitionen (CDROM und Firmware) auf dem Stick. Beide sind schreibgeschützt.
Kannst Du mir sagen, wie ich die isolinux.cfg beschreibbar kriege um die Startparameter für die Ländereinstellungen der Tastatur zu ändern ?
Vielleicht weiß ja jemand anders auch eine Antwort darauf.
Gruß FK

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Partitionierung mit preseed

Beitrag von Cae » 12.06.2012 13:11:22

fiberkill hat geschrieben:Danach sind 2 Partitionen (CDROM und Firmware) auf dem Stick. Beide sind schreibgeschützt.
Kannst Du mir sagen, wie ich die isolinux.cfg beschreibbar kriege um die Startparameter für die Ländereinstellungen der Tastatur zu ändern ?
Lass' mich überlegen, gar nicht. Das ist ein unbeschreibbares Dateisystem. Also musst du die Daten aus einem loop-gemounteten .iso irgendwohin schieben und bearbeiten und hinterher mit mkisofs ein neues .iso daraus bauen. Ein paar GUIs kapseln das wohl zusammen, aber eigentlich muss man das .iso wie beschrieben aufdröseln, um es zu beschreiben.

Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Partitionierung mit preseed

Beitrag von uname » 12.06.2012 13:57:32

ich habe mir die mini.iso der Debian.org Seite heruntergeladen und auf einen USB-Stick kopiert.
Lass' mich überlegen, gar nicht.
Auf einem USB-Stick kann man doch wohl die Dateien eines Hybrid-ISOs ändern. Bin mir ziemlich sicher obwohl ich seit Ewigkeiten nur noch GRML nutze, wo man recht leicht die Sprache umstellen kann. Poste mal den Link wo du die "mini.iso" besorgt hast.

fiberkill
Beiträge: 221
Registriert: 28.03.2007 09:08:30

Re: Partitionierung mit preseed

Beitrag von fiberkill » 12.06.2012 14:09:31


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

Re: Partitionierung mit preseed

Beitrag von joe2017 » 02.11.2023 11:18:29

Ich habe noch ein kleines Verständisproblem...
Ich habe folgende config und die Swap verwendet immer den ganzen Verfügbaren restspeicher.

Code: Alles auswählen

d-i partman-auto/expert_recipe string                        \
      boot-root ::                                           \
              512 200 1024 free                              \
                      method{ efi } format{ } .              \
              131072 10000 131072 ext4                       \
                      method{ format } format{ }             \
                      use_filesystem{ } filesystem{ ext4 }   \
                      mountpoint{ / }                        \
              .                                              \
              1024 100 2048 linux-swap                       \
                      method{ swap } format{ } .
Bei einer 240GB Festplatte sieht das Ergebnis wie folgt aus:
efi=487MB
/=122,07GB
swap=110,34GB

Eigentlich sollte die swap nur 1024-2048MB erhalten?

Antworten