Ich lerne die CLI-Oberfläche des Advanced Packaging Tool. Aus der Ausgabe von, apt(8)
wenn sein stdout kein Terminal ist, ist es nicht für "Skripte geeignet, die eine stabile Programmierschnittstelle erwarten", also schaue ich mir das an apt-get(8)
.
Ein Unterschied zwischen apt update
und apt-get update
besteht darin, dass letzterem eine letzte Zeile fehlt, nachdem der gesamte Cache aktualisiert wurde:
8 packages can be upgraded. Run 'apt list --upgradable' to see them.
Ich möchte wissen, wie ich genau diese Linie anzeigen kann apt-get(8)
.
apt
(Advanced Packaging Tool) undapt-get
sind verschiedene Dinge. Sie sind so konzipiert, dass sie anders laufen als ich es verstanden habe. Wenn man Ihnen gibt, was Sie wollen, machen Sie es sich vielleicht zur Gewohnheit, stattdessen diesen Befehl zu verwenden.Antworten:
man apt-get
zeigt an:Also, wenn Sie nur tun:
apt-get upgrade --dry-run
es wird ausgegeben:
quelle
man 8 apt-get
habe diese Option gefunden, aber die Ausgabe war anders alsapt
.apt
es sich wirklich um einen programmatischen Wrapper handelt,apt-get
und das ist der Grund, warum die Warnung existiert.apt
zeigt8 packages can be upgraded. Run 'apt list --upgradable' to see them.
, während Ihre Antwort zeigt4 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
apt
wird Ihnen diesen Text nicht garantieren, und sie können Ihnen diese Nummer nicht einmal garantieren.apt-get
Es gibt jedoch eine strenge Ausgabeanforderung, da es von anderen Softwareprogrammen (wie Benutzeroberflächen und Dämonen) verwendet wird, um es auf verschiedene Arten zu verarbeiten. Sie können also entweder Ihren Code ändern, umapt-get
die Ausgabe zu akzeptieren , oder Sie können dies| sed 's/to upgrade/packages can be upgraded/g'
beispielsweise tun (und riskieren, dass Ihr Code später beschädigt wird).Vermutlich müssen Sie mit der Anzahl der verfügbaren Updates umgehen. Hier ist ein Vorschlag:
Kein Sudo erforderlich
Die Ausgabe ist einfach zu bearbeiten
Mehr Optionen:
quelle
motd
bei der SSH-Anmeldung verwendet wird?Von
man 8 apt
:Dann ging ich durch
/usr/share/doc/apt/examples/configure-index.gz
(mitzcat(1)
, um Textinhalte anzuzeigen) und bemerkte diese Option:Also habe ich den folgenden Befehl ausgearbeitet, der genau das tat, was ich wollte:
Getestet, um an Xenial und Bionic zu arbeiten.
quelle