
Ich habe ein Ubuntu 12.04.5 LTS in Azure Cloud erstellt. Ich erstelle es aus einem Jenkins Powershell-Build, der: 1. VM in Azure erstellt 2. Einige Remote-SSH-Befehle ausführt (darunter apt-get dist-upgrade) 3. Ein virtuelles Image aus der VM erstellt
Aber der Build bleibt in Schritt 2 hängen. In Schritt 2 führe ich unter anderem Folgendes aus:
apt-get update
apt-get -q -y dist-upgrade
Die Absicht von -y ist es, interaktive Fragen zu vermeiden. Wenn ich manuell von einer Shell aus starteapt-get -q -y dist-upgradees funktioniert gut, bis es zweimal hängen bleibt:
Der Parameter -y soll diese Situation vermeiden. Wie Sie sehen, ist das fehlerhafte Paketwagen, das ist Microsoft Azure Linux Agent und es wird standardmäßig installiert, wenn ich Schritt 1 abgeschlossen habe
Meine Frage ist:Wie kann ich diese interaktiven Fragen vermeiden?(entweder mit „Ja“ oder „Nein“ antworten oder das Upgrade dieses Pakets vermeiden oder etwas anderes tun)
Antwort1
Vielleicht können Sie auch Folgendes versuchen:
DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes
Antwort2
Konflikte mit Konfigurationsdateien scheinen bei apt-get (dkpg) recht häufig vorzukommen. Ich löse das Problem mit:
apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade
Die Optionen bedeuten:
- --force-confdef: Bitten Sie dpkg, selbst zu entscheiden, wenn es dazu in der Lage ist, und geben Sie andernfalls eine Aufforderung aus ...
- --force-confold: Ändern Sie die aktuelle Konfigurationsdatei nicht ...