Fehler beim Versuch, Pakete mit Tasksel in Debian 9-Containern zu installieren

Fehler beim Versuch, Pakete mit Tasksel in Debian 9-Containern zu installieren

Ich verwende Docker Desktop Community 2.0.3. Ich habe die offiziellen Nginx- und Apache-HTTP-Servercontainer von Docker Hub (hub.docker.com) ausgeführt. Die Container-Images basieren auf Debian 9. Dann habe ich versucht, die Standardsystemdienstprogramme von Debian mit Tasksel zu installieren. Ich habe ein Terminal im Container geöffnet mit:

docker exec -ti container_id bash

Ich habe versucht, die Taskel-Installation auszuführen

# tasksel install standard
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Installing packages
-------------------

..100%

Die Probleme sind:

  • Es öffnet nicht die Taskel-TUI (Text User Interface), wie im Screenshot zu sehen.
  • Ich erhalte die oben genannten Fehler und die Installation wird nicht abgeschlossen.

Docker Desktop ist auf macOS 10.12 installiert

Aufgabensel

Antwort1

Um zu verwenden tasksel, müssen Sie dialog; in Ihrem Container installieren:

apt update && apt install -y dialog tasksel

Dann

tasksel install standard

wird mit der üblichen Schnittstelle funktionieren.

Sie müssen die TERMVariable nicht übergeben.

Viele der Standarddienstprogramme sind in einem Container nicht sehr nützlich. Wenn ich dies jedoch tun würde, würde ich aptitudestattdessen Folgendes verwenden tasksel:

apt update && apt install -y aptitude && \
aptitude install -y ~pstandard ~prequired ~pimportant

Antwort2

Es stellte sich heraus, dass ncurses diesen Befehl erfordert: https://stackoverflow.com/a/38774123/3341782 Ich bin nicht sicher, ob es eine bessere Lösung gibt.

verwandte Informationen