On Mon, 22 Jul 2002 08:05:30 +0200, Marc Haber <[EMAIL PROTECTED]> wrote: >Das ist leider nicht akzeptabel, da keines meiner Systeme einem >anderen gleicht. Mir geht es darum, die Standardfragen von netbase, >less etc. nicht zigmal beantworten zu müssen, _ohne_ die Fragen der >"spezielleren" Packages zu verpassen.
Das Problem lässt sich durch folgenden Ansatz lösen: Ein script "mergedebconf": |#!/usr/bin/perl -w | |use strict; | |my %records; | |$/=""; | |while( <> ) { | chomp; | if( my ($name)=/^Name: (\S+)/m ) { | $records{$name}=$_; | } else { | die "no Name clause in record\n"; | } |} | |foreach (sort keys %records) { | print "$records{$_}\n\n"; |} Nach dem Update von debconf auf die aktuelle Version nehme man sich eine Datei globals.dat, die die Debconf-Datenbank-Records mit dem gewünschten Inhalt enthält. Hier ein Beispiel, das die deutsche Tastatur einstellt: |Name: console-data/keymap/policy |Template: console-data/keymap/policy |Value: Select keymap from arch list |Owners: console-common, console-data |Flags: seen | |Name: console-data/keymap/family |Template: console-data/keymap/family |Value: qwertz |Owners: console-common, console-data |Flags: seen |Variables: | choices = azerty, dvorak, fgGIod, qwerty, qwertz | |Name: console-data/keymap/qwertz/layout |Template: console-data/keymap/template/layout |Value: German |Owners: console-data |Flags: seen |Variables: | choices = Croat, Czech, German, Hungarian, Serbian, Slovak, Slovene, Swiss | |Name: console-data/keymap/qwertz/german/variant |Template: console-data/keymap/template/variant |Value: Standard |Owners: console-data |Flags: seen |Variables: | choices = Apple USB, Standard | |Name: console-data/keymap/qwertz/german/standard/keymap |Template: console-data/keymap/template/keymap |Value: latin1 - no dead keys |Owners: console-data |Flags: seen |Variables: | choices = Programmer, latin1, latin1 - no dead keys Die Ausgabe von mergedebconf /var/cache/debconf/config.dat global.dat schiebe man nun nach /var/cache/debconf/config.dat und kann nun wie gewünscht installieren, ohne noch einmal behelligt zu werden. Das Script liest beide Dateien Record für Record ein, und schreibt dann auf seine Ausgabe jeweils den letzten Record, den er für einen Namen gefunden hat. Das sorgt dafür, dass die Records aus der global.dat die aus der config.dat vollständig ersetzen, was das gewünchte Verhalten erzeugt. Grüße Marc -- -------------------------------------- !! No courtesy copies, please !! ----- Marc Haber | " Questions are the | Mailadresse im Header Karlsruhe, Germany | Beginning of Wisdom " | Fon: *49 721 966 32 15 Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fax: *49 721 966 31 29 -- Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)