Frage Wie zeige ich die Aktionen an, die für die Installation eines .deb-Pakets erforderlich sind?


Ich möchte in der Lage sein, die Scripts / Trigger zu sehen, die mit einem Paket verbunden sind, das für das Upgrade fällig ist, so dass ich zum Beispiel sagen kann, ob es dazu führt, dass der Webserver neu gestartet wird. Ich kann keine Eignungsoption finden, um mir das zu zeigen (oder apt / dpkg); Das Beste, was ich bekommen kann, ist der Inhalt (Dateien). Gibt es eine Kombination von simulate / verbose / contents switches, die ich übersehen habe und die das zeigen wird?

Wenn ein Paket dazu führt, dass etwas passiert - wie ein Neustart des Diensts -, den ich jetzt nicht ausführen möchte, gibt es eine Möglichkeit, das Paket zu installieren, ohne einige oder alle Skripts auszuführen?


25
2017-11-26 10:32


Ursprung


Warum wurde das abgelehnt? Es scheint mir eine vernünftige Frage zu sein (auch wenn das normalerweise nicht nötig sein sollte). - sleske
Schlägt mich. Keine besonders abstumpfenden Kommentare oder Antworten, nur zufälliges Downvote. Als ob "normalerweise sollte nicht getan werden" ist das gleiche wie "sollte nie unter keinen Umständen getan werden und nicht einmal pädagogisch". :( - Sam Brightman


Antworten:


Sie können die Steuerdatei und einige andere Informationen mit ausdrucken dpkg -I package.deboder verwenden dpkg -e package.deb um nur die Steuerinformationsdateien zu extrahieren.

Außerdem können Sie einen Trockenlauf durchführen, um zu sehen, was dpkg tun würde --dry-run:

dpkg --dry-run -i package.deb

14
2017-11-26 12:21



Ich muss diese Optionen verpasst haben, danke. -Ich scheint nicht viel zu zeigen - sieht nur aus wie die erste Zeile (interrobang). - Sam Brightman
Hinweis: Sie müssen die Paketdatei lokal verfügbar haben. Laden Sie es zuerst über 'aptitude download <Paketname>' herunter. - Martijn Heemels
Die Option -e erstellt ein DEBIAN Verzeichnis mit dem control Datei und die verschiedenen Skriptdateien, die ausgeführt werden. postinst ist normalerweise sehr interessant, da es nach der erfolgreichen Installation des Pakets ausgeführt wird. - dwurf


Nein, ich kenne keine Möglichkeit, dies mit Eignung zu tun.

Sie können die Skripts direkt anzeigen. Die Skripts, die während des Upgrades ausgeführt werden, sind im Paket enthalten. Entpacke die Deb mit ar:

ar -x package.deb

Dann schau hinein control.tar.gzEs enthält die Skripte.


6
2017-11-26 11:34



Wäre besser, wenn aptitude -s mit einigen Ausführlichkeitsoptionen tatsächlich die Skripte zeigen würden, die für das gesamte Upgrade laufen würden. Das ist im Wesentlichen das, wonach ich gefragt habe, aber ich denke, Mikaels Antwort ist etwas einfacher. - Sam Brightman


Nein, Sie können keinen Teil eines Betreuers verwenden, es gibt keine Haken, um das zu erreichen.

Sie können nur sehen, was das Skript tun würde, indem Sie es von Hand untersuchen - wieder kann kein "Trockenlauf" Ihnen genau sagen, was es tun wird und was nicht, nur "Ich werde den Postinst mit diesen Argumenten ausführen".

Aus diesen Gründen verfügen wir über Staging- und Testumgebungen.


0
2017-11-26 13:31



Ich meinte eine Teilmenge der Skripte, nicht Teil eines einzelnen Skripts. Tut mir leid, wenn das nicht klar war. Ich möchte keine Magie, da ich das Skript und die Argumente kenne, kann ich die Teile, die unbequem sind, inspizieren oder modifizieren. - Sam Brightman