Как я могу получить «подробный» код выхода для 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
код выхода отличается от ошибок загрузки, подобных этой
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)
В настоящее время обе ошибки завершаются с 100
По сути, я хотел бы, чтобы ошибки загрузки выходили с кодом, отличным от ошибок, подобных первому. Если возможно, я бы хотел, чтобы у каждой конкретной ошибки был свой код выхода, но приведенный выше пример - это минимум, который мне нужен. Как я могу сделать это в стандартной установке Ubuntu без дополнительного программного обеспечения (за исключением aptitude
)?
apt-get --download-only
сначала.apt-cache policy X
?apt-cache policy google-chrome
не дает вам строку со словом «Кандидат», тогда какapt-cache policy google-chrome-stable
будет.Ответы:
Не полный ответ, но вы можете сначала проверить наличие пакетов, выполнив
apt-cache policy X
и выбрав выходные данные для «Кандидат (нет)» или «Не удалось найти пакет Х» и т. Д.источник
Я полагаю, что это не случай XY, и вы просто хотите быть в состоянии отладить apt-get в целом. При таких предположениях вот мой ответ.
Из
man apt.conf
:Следовательно, вам нужно только активировать правила для каждого из режимов отладки
apt-get
:Эти 3 являются первыми, которые рекомендуются справочной страницей, а первая поможет вам отладить первую отображаемую ошибку. Для второго вам может понадобиться:
https
,ftp
,cdrom
.Страница man имеет много больше, вы можете легко перечислить их, используя
man apt.conf | grep -A5 -i debug
.Все это должно быть написано с использованием правильного синтаксиса, и они принимают логические значения:
или если вы хотите использовать несколько строк:
Если вы хотите работать только для экземпляра apt-get, вы можете использовать ключ
-o
/--option
:Другой способ - создать свой персонализированный файл конфигурации и загрузить его с ключом
-c
/--config-file
:Насчет изменения кодов выхода я считаю, что вы не можете, если вы не измените исходный код.
apt-get
это современное программное обеспечение, так как в нем есть продвинутые методы для отладки процесса без необходимости полагаться на коды выхода.источник
apt-get
, а не все время.-o
опцию для запуска специальных команд. Обновил мой ответ.apt-cache policy PACKAGE
, как сказал Джос. Я пытался проверить, можно ли установить пакет, возможно, я не задал правильный вопрос, но это хороший ответ