Wie kann ich einen "ausführlichen" Exit-Code für apt-get
solche Fehler erhalten?
Package google-chrome is a virtual package provided by:
google-chrome-stable 29.0.1547.76-r223446
google-chrome-beta 30.0.1599.47-1
You should explicitly select one to install.
E: Package 'google-chrome' has no installation candidate
habe einen anderen Exit-Code als solche Download-Fehler
Err http://dl.google.com/linux/chrome/deb/ stable/main google-chrome-stable amd64 29.0.1547.76-r223446
Something wicked happened resolving 'dl.google.com:http' (-11 - System error)
Derzeit werden beide Fehler mit beendet 100
Grundsätzlich möchte ich, dass Download-Fehler mit einem anderen Code beendet werden als Fehler wie der erste. Wenn möglich, möchte ich, dass jeder Fehler einen anderen Beendigungscode hat, aber das obige Beispiel ist das Minimum, das ich brauche. Wie kann ich dies in einer Vanilla-Ubuntu-Installation ohne zusätzliche Software tun (mit Ausnahme von aptitude
)?
apt-get --download-only
zuerst tun .apt-cache policy X
?apt-cache policy google-chrome
Ihnen dies keine Zeile mit dem Wort "Kandidat" gibt, wohingegen dies der Fallapt-cache policy google-chrome-stable
wäre.Antworten:
Keine vollständige Antwort, aber Sie können zunächst prüfen,
apt-cache policy X
ob Pakete vorhanden sind, indem Sie die Ausgabe für "Kandidat (keine)" oder "Paket X nicht gefunden" usw. überprüfen.quelle
Ich glaube, dies ist kein Fall von XY, und Sie möchten nur in der Lage sein, apt-get generell zu debuggen. Unter solchen Voraussetzungen ist hier meine Antwort.
Aus dem
man apt.conf
:Daher müssen Sie nur die Regeln für jedes der folgenden Debug-Verhalten aktivieren
apt-get
:Diese 3 sind die ersten, die die Manpage empfiehlt, und die erste hilft Ihnen beim Debuggen des ersten Fehlers, den Sie anzeigen. Für die Sekunde benötigen Sie möglicherweise:
https
,ftp
,cdrom
.Die Manpage enthält viele weitere, die Sie einfach mit auflisten können
man apt.conf | grep -A5 -i debug
.All dies sollte mit der richtigen Syntax geschrieben werden und sie akzeptieren boolesche Werte:
oder wenn Sie mehrere Zeilen verwenden möchten:
Wenn Sie nur für eine Instanz von apt-get ausführen möchten, können Sie den Schalter
-o
/ verwenden--option
:Eine andere Methode erstellt Ihre personalisierte Konfigurationsdatei und lädt sie mit der Option
-c
/--config-file
:Über die Änderung der Exit-Codes, glaube ich, können Sie nicht, wenn Sie den Quellcode ändern.
apt-get
ist eine hochmoderne Software, die über fortschrittliche Methoden zum Debuggen des Prozesses verfügt, ohne dass Exit-Codes erforderlich sind.quelle
apt-get
, nicht die ganze Zeit.-o
Option können Sie Ad-hoc-Befehle ausführen. Aktualisiert meine Antwort.apt-cache policy PACKAGE
, wie Jos sagte. Ich habe versucht, zu überprüfen, ob ein Paket installierbar ist. Möglicherweise habe ich meine Frage nicht richtig gestellt, aber dies ist eine gute Antwort