Suchen Sie in den Skripten der Debian-Paketbetreuer nach nicht-interaktivem Modus

Suchen Sie in den Skripten der Debian-Paketbetreuer nach nicht-interaktivem Modus

Wenn ich ein Debian-Paketwartungsskript (z. B. ein Vorinstallationsskript) für ein von mir erstelltes Paket schreibe, wie kann ich das Skript dazu bringen, festzustellen, ob es im nicht-interaktiven Modus ausgeführt werden soll (z. B. ob es apt-get installmit aufgerufen wurde -yoder ähnliches)?

Antwort1

Wenn Ihre Maintainer-Skripte mit dem Benutzer interagieren müssen, der die Installation durchführt, ist die empfohlene Vorgehensweise die Verwendung von debconf; sieheBedingte Datei- und Verzeichnisinstallation in Debian-Paketenfür Zeiger. Das mag kompliziert erscheinen, bringt aber eine Reihe von Vorteilen mit sich – es handhabt nicht nur debconfnicht-interaktive Setups (mit einem expliziten DEBIAN_FRONTEND=noninteractiveAufruf oder weil es keine Möglichkeit gibt, mit einem Benutzer zu interagieren), sondern unterstützt auch verschiedene Frontends und die von verwalteten Einstellungen debconfkönnen vor der Installation festgelegt werden (mithilfe von „Pre-Seeding“). Das ist in Ihrem Fall vielleicht nicht relevant, debconfunterstützt aber auch Eingabeaufforderungen in verschiedenen Sprachen.

Beachten Sie, dass apt-getFlags von der Interaktivität des Betreuerskripts getrennt sind; sieheIst DEBIAN_FRONTEND=noninteractive redundant mit apt-get -yqq?

verwandte Informationen