Wenn ich es versuche
apt-get install -y tzdata
Die Befehlszeilenoption zum Auswählen der Zeitzone wird angezeigt. Ich versuche, dies in einem Skript zu verwenden, um einige Einstellungen vorzunehmen. Wie kann ich apt-get ohne Benutzereingabe ausführen?
Ich weiß, welche TZ-Daten ich neu konfigurieren kann
echo "America/New_York" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
Aber bei der Installation muss es vollständig ausgeführt werden, auch wenn nicht die richtige Zeitzone eingestellt ist. Ich kann es jederzeit neu konfigurieren.
Ich habe es versucht
echo 5 | apt-get install -y tzdata
aber es funktioniert nicht wie erwartet.
DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
Schritt zuvorDEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
war der einzige Weg, wie ich dies ohne Aufforderung installieren konnte.Wenn jemand es in erreichen möchte
Dockerfile
, verwenden Sie wie unten.quelle
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ...
DieDEBIAN_FRONTEND
Variable muss für dasinstall
Teil festgelegt werden. Es funktioniert nicht, wenn es vor dem&&
für dasupdate
Teil eingestellt ist.Alle Gutschriften dafür sollten an @PYA gehen, aber die richtige Reihenfolge sollte sein:
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime export DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata dpkg-reconfigure --frontend noninteractive tzdata
quelle
Ich habe kürzlich die folgende Lösung in einer Docker-Datei gefunden, die die Cingulata FHE-Bibliothek erstellt:
Grundsätzlich wird die von ipapi.co bereitgestellte API verwendet, um die Zeitzoneninformationen abzurufen. Dadurch wird die Zeitzone automatisch ordnungsgemäß konfiguriert, anstatt den Dialog zu überspringen und die Standardeinstellung (UTC) zu verwenden.
quelle
So habe ich es gemacht:
echo 1 > input.txt echo 1 >> input.txt apt-get install -y tzdata < input.txt ln -fs /usr/share/zoneinfo/America/Los_Angeles /etc/localtime echo America/Los_Angeles > /etc/timezone
Die ersten beiden Echoanweisungen erstellen eine Textdatei, die die Auswahlnummern für das Menü "Geografisches Gebiet" und das Menü "Stadt / Region" enthält. Diese Datei wird dann verwendet, um Eingaben für den Befehl apt-get install bereitzustellen. Das tzdata-Paket wird installiert, ohne dass Benutzereingaben erforderlich sind. Die Zeitzone wird auf Afrika / Abidjan eingestellt, als ob Sie als Antwort auf die normalerweise erhaltenen Eingabeaufforderungen 1 und 1 eingegeben hätten. Dann ändere ich die Zeitzone mit den letzten beiden Befehlen auf das, was ich will.
Anstelle von 1 und 1 könnten Sie die tatsächlichen Zahlen für das gewünschte geografische Gebiet und die gewünschte Stadt / Region verwenden, aber es scheint mir, dass sich diese Zahlen ändern könnten.
quelle