Re: apt-get ohne interaktion
On 06.Sep 2003 - 13:37:26, Georg Damm wrote:
> Danke für die bisherigen Tipps. Das meiste hatte ich leider schon selbst
> erfolglos ausprobiert.
>
> 1. Das Problem der interaktiven Abfragen (ob die Version des Paketbetreuers
> ... installiert werden soll oder nicht) läßt sich - zumindest bei tetex-extra
> - weder mit DEBIAN_FRONTEND=noninteractive noch mit der apt-get option -y
> abschalten. Kann das daran liegen, dass das Paket in derHinsicht schlecht
> gepackt ist?
Ich denke nicht das das Paket schlecht gepackt ist. Das Ding ist halt
das solch eine Abfrage ein bisschen einfacher mit ein wenig
Shellscripting in einem der (pre|post)inst Skripte zu machen ist, als
per debconf. Man möge mich da berichtigen, falls ich mich irre. Und
daher hilft debconf nichts und die Option für apt-get betrifft wohl
eher die apt-get Fragen und nicht die der Config-Skripte. Wenn du
genau weiss das du garantiert alle Fragen mit 'y' oder 'n' beantworten
kannst und keine debconf Fragen kommen, dann kannst du mit yes|apt-get
... arbeiten.
> 2. Ich bekomme (push-update bei mehreren Rechnern) mit
>
> dpkg --get-selections \* | dsh -aci -- dpkg --set-selections
> dsh -g all -c -- DEBIAN_FRONTEND=Noninteractive apt-get update && apt-get -y
> -q dist-upgrade
>
> schon in der ersten Zeile die Fehlermeldung
>
> dsh: dsh.c:556: do_shell: Zusicherung »((((__extension__ ({ union {
> __typeof(childstatus) __in; int __i; } __u; __u.__in = (childstatus);
> __u.__i; }))) & 0x7f) == 0)« nicht erfüllt.
> Abgebrochen
>
> Der Prozeß läuft dann trotzdem weiter, es werden aber nur die ersten 50 Pakete
> per dpkg weitergegeben. Ist das ein Bug von dsh??
Frag doch mal bugs.debian.org. Übrigens, wieso hast du da eigentlich
einen \* bei dpkg --get-selections, das ist AFAIK überflüssig.
Das mit den 50 Paketen kommt daher weil du keine apt-get
dselect-upgrade machst, denn die Auswahl die du mittels dpkg
--set-selections setzt wird bei apt-get nur mit dselect-upgrade
benutzt, wie du aus den manpages auch erfahren hättest. Das was du
machst ist lediglich ein normales dist-upgrade.
Wenn das weglassen des \* nicht hilft, dann ist es ein Bug im dsh und
du solltest ihn melden, auf das er behoben wird.
Um sicherzugehen, das das apt-get Zeug nur ausgeführt wird wenn das
setzen der Paketauswahl geklappt hat wäre es wohl besser ein &&
dazwischen zu packen.
Andreas
--
Lieber untertauchen als zugrunde gehen...
Reply to: