Fragen zur Nutzung einer preseed.cfg

Hans-Dietrich Kirmse hd.kirmse at gmx.de
Mo Jun 8 20:30:34 CEST 2009


Hallo Sebastian,

ersteinmal recht herzlichen Dank für deine Antwort. Mein Problem ist
zwar noch nicht gelöst, aber vielleicht habe ich es auch einfach nur zu
schlecht dargestellt.

Sebastian Anding schrieb:
> On Sun, 2009-06-07 at 00:24 +0200, Hans-Dietrich Kirmse wrote:
>> Hallo,
>>
>> ich wollte einen schon installierten Server möglichst automatisch auf
>> einen anderen Rechner übertragen. Wie in der Literatur angegeben, habe
>> ich mir die debconf-Einträge für die Grundinstallation mittels
>>
>>    debconf-get-selection --installer  > preseed.cfg
> 
> Das scheint ein wrapper fuer dpkg --get-selections zu sein.

weiss ich nicht. ich wollte einfach nur (das debianspezifische) Debconf
nutzen.

Laut http://debiananwenderhandbuch.de/debconf.html (ebenso in der
Buchversion und auch laut Krafft "Das Debian-system") gilt Folgendes:

<kopie>

debconf-get-selections liest die gespeicherten Informationen aus der
Debconf-Datenbank und schreibt diese auf die Standard-Ausgabe. Die
Syntax für diesen Befehl lautet:

   debconf-get-selections [--installer]

Das Ausgabeformat kann direkt wieder vom Kommando debconf-set-selections
   eingelesen werden. Soll dies auf einem anderen System geschehen, so
ist die Ausgabe in eine Datei zu schreiben und diese auf das zweite
System zu transferieren. Dieses Prinzip wird auch vom Debian Installer
genutzt, um eine automatische Installation zu erlauben (siehe
Automatische Installation mit dem Debian Installer).

Informationen, die während der Installation des Systems gesetzt werden,
sind in einer getrennten Datenbank (/var/log/installer/cdebconf)
abgelegt. Diese können über die einzige Option von
debconf-get-selections - --installer - ausgelesen werden. Um alle
Debconf-Einstellungen eines Systems in eine Datei zu schreiben, sind
zwei Kommandos notwendig:

   debconf-get-selections --installer > config.cfg
   debconf-get-selections >> config.cfg

</kopie>

Mir geht es nur um den ersten Teil, also die Installer-Variante. nach
diesen aussagen (die sich auch genau in dieser Form auch auf mehreren
Webseiten findet) sollte demnach in einer solchen Datei die eingaben
stehen, die man schon mal getätigt hat. Dummerweise scheint das bei mir
leider nicht so zu sein. - Nur bei mir?


>> in die angegebene Datei geschrieben. Diese Datei habe ich so wie wie sie
>> war/ist auf einen Webserver abgelegt.
> 
>> Bei einer Neuinstallation mit einer Netinstall-CD habe ich schon das
>> Problem, dass ich nicht wirklich weiss, wie man Bootparameter übergibt.
>> Gehe ich in die Hilfe und übergebe dann am Bootprompt, den ich z.B. mit
>> F5 erhalte, dann findet er den Kernel nicht. Bei den anderen
>> Hilfepunkten sieht das nicht viel anders aus.
> 
> Reicht dir der Standartkernel nicht, den du per <ENTER> startest?

doch. aber darum geht es nicht. Es soll eine schonmal stattgefundene
Installation auf einen anderem Rechner nachvollzogen werden, ohne die
Eingaben wiederholen zu müssen. damit diese Installation auch an einem
anderen Ort so abläuft, wollte ich die Möglichkeit nutzen, diese Datei
auf einen Webserver abzulegen (dieser steht mir zur Verfügung).

Und deswegen wollte ich die Variante mit der automatischen Installation
mit dem Bootparamter preseed/url.

>> Wenn ich aber gleich auf der Startseite auf Tab drücke, dann stehen
>> schon Bootparameter. Wenn ich dort mein preseed/url=http://....
>> eintrage, dann wird diese Datei aber nicht genutzt. Zumindest scheint es
>> mir so.
>>
>> Ich hatte erwartet, dass dann die Fragen nicht nochmal gestellt werden.
>> Dem ist aber überhaupt nicht so. Mir ist zwar klar, dass dazu erstmal
>> das Netzwerk laufen müßte, also hätte ich mir die Sprachauswahl und die
>> Einrichtung der Netzwerkkarten noch gefallen lassen, aber er will auch
>> den Rechnernamen, die Domain usw. noch wissen. Da habe ich dann dort
>> jedesmal frustriert abgebrochen.
> 
> Bei Rechnern mit gleichen Paketen muss der Installer durchlaufen sein
> afaik, damit man die Pakete auf beiden Maschinen gleich installieren
> kann. 

eine Musterkonfiguration liegt doch vor, auf der ich diesen Befehl habe
ausführen lassen.

> Es gibt auch Verfahren bei debian Automatische Installationen zu
> machen, auf dem 25c3 war das zu sehen. google://unattended installation
> debian sollte da weiter helfen.

solche komplizierten Sachen wollte ich doch nicht - ich bin eher ein
Linux-Anfänger. Allerdings einen Bootparameter zu übergeben, dass sollte
auch für DAUs kein Problem sein: ist es aber leider - oder vielleicht
auch nicht. m.E. steckt eher der Fehler in der Anleitung, aber ob ich
das schreiben kann, dass dieses Anwenderhandbuch hier patzt? - *duck*

>> Was mache ich falsch?
> Das System muss installiert sein. Danach kannst du imho mit 
> dpkg --set-selection < preseed.cfg die Config wieder einlesen. Mit
> apt-get install wird die config dann installiert.

ganz so einfach ist nun doch nicht, weil die Konfiguration eben vielen
bereitgestellt werden soll, also über Internet - konkret auf einen
WWW-Server. Zumindest hatte ich das vor.

Und das bei dieser Variante diese Konfiguration erst dann greifen kann,
wenn das netzwerk konfiguriert ist, ist mir auch klar. sollte das der
Stolperstein sein? aber wozu gibt es dann den Bootparamter "url=..."?

>> Wäre für Hinweise sehr dankbar.
> 
> Bitte sehr.

danke. Allerdings ist mein Problem noch nicht geklärt.

Mit freundlichen Grüßen
Hans-Dietrich