
Wenn ich unsere Linux-Server aktualisiere, gebe ich von einem unserer Verwaltungsserver aus einen Befehl wie diesen ein:
ssh server1.mycompany.com apt upgrade
Unter bestimmten Umständen erhalte ich vom Befehl diese Ausgabe:
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
Da ich nicht mit dem Dialog interagieren kann, gehe ich davon aus, dass die Standardeinstellungen ausgewählt sind. Wie gehen andere Leute mit diesem Problem um? Sich bei jedem Server anzumelden, um apt upgrade auszuführen, nur für den Fall, dass ein Dialog erscheint, klingt nicht nach der richtigen Lösung. Vielleicht gibt es eine Möglichkeit, das „apt upgrade“ oder etwas Ähnliches abzubrechen, wenn Dialoge erscheinen? Oder noch besser, vielleicht gibt es eine Möglichkeit, das Popup auf der Clientseite der SSH-Verbindung anzuzeigen, also auf dem Server, mit dem ich per SSH verbunden bin.aus?
Antwort1
Sie benötigen ein Terminal, bei dem Sie entweder über die Parameter einstellen können,
-t
ob ein PTY erzwungen wird oder -T
ob kein PTY erzwungen wird (bzw. über die entsprechenden Optionen in der Konfigurationsdatei).
Darüber hinaus wird bei Verwendung eines PTY die TERM
Umgebungsvariable kopiert (Ausnahmen können gelten, vollständige Details finden Sie in der Dokumentation und im offiziellen Teilnahmeformular für das Gewinnspiel).
Sie können das nicht interaktive Front-End angeben, das keine Anforderungen stellt und keine Fragen stellt (was Ihren Wünschen entsprechen kann, aber nicht muss):
ssh <remote_srv> "DEBIAN_FRONTEND=noninteractive apt-get autoremove"
Weitere Informationen finden Sie im Beitrag „Ask Ubuntu“ Frontend kann nicht initialisiert werden: Dialog bei Verwendung von SSH.