如何获得“详细”退出代码,apt-get以便出现这样的错误
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
Run Code Online (Sandbox Code Playgroud)
与这样的下载错误有不同的退出代码
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)
Run Code Online (Sandbox Code Playgroud)
目前,这两个错误都退出了 100
基本上,我希望下载错误以不同于第一个错误的代码退出。如果可能,我希望每个特定错误都有不同的退出代码,但上面的示例是我需要的最低限度。如何在没有其他软件的情况下在 vanilla Ubuntu 安装中执行此操作(除了aptitude)?
Bra*_*iam 16
我相信这不是 XY 的情况,您只是希望能够调试 apt-get 一般而言。在这样的假设下,这是我的答案。
来自man apt.conf:
调试选项
启用 Debug:: 部分中的选项将导致调试信息被发送到使用 apt 库的程序的标准错误流,或者启用主要用于调试 apt 行为的特殊程序模式。
因此,您只需要为每个调试行为激活规则apt-get:
这 3 个是手册页推荐的第一个,第一个将帮助您调试您显示的第一个错误。对于第二个,您可能需要:
https, ftp, cdrom。手册页还有更多内容,您可以使用man apt.conf | grep -A5 -i debug.
Debug::*::* "true";
Run Code Online (Sandbox Code Playgroud)
或者如果你想使用多行:
Debug {
Acquire {
http "true";
ftp "true";
};
NoLocking "true";
};
Run Code Online (Sandbox Code Playgroud)
如果您只想为 apt-get 实例运行,您可以使用-o/--option开关:
sudo apt-get -o Debug::pkgProblemResolver=true -o Debug::Acquire::http=true -f install
Run Code Online (Sandbox Code Playgroud)
另一种方法是创建您的个性化配置文件并使用-c/--config-file开关加载它:
sudo apt-get -c debug-apt.conf install hello
Run Code Online (Sandbox Code Playgroud)
关于更改退出代码,我相信除非您更改源代码,否则您无法更改。apt-get是一种最先进的软件,因此它具有先进的方法来调试过程,而无需依赖退出代码。
| 归档时间: |
|
| 查看次数: |
37837 次 |
| 最近记录: |