Если я использую apt-get install -qq mono-devel, я ожидаю, что он будет тихим, за исключением ошибок, в соответствии с помощью:
-qq No output except for errors
Вместо этого я получаю:
Extracting templates from packages: 100%
Selecting previously unselected package binfmt-support.
(Reading database ... 84711 files and directories currently installed.)
Unpacking binfmt-support (from .../binfmt-support_2.0.8_i386.deb) ...
Selecting previously unselected package cli-common.
Unpacking cli-common (from .../cli-common_0.8.2_all.deb) ...
Selecting previously unselected package libgdiplus.
Unpacking libgdiplus (from .../libgdiplus_2.10-3_i386.deb) ...
Selecting previously unselected package libmono-2.0-1.
Unpacking libmono-2.0-1 (from .../libmono-2.0-1_2.10.8.1-1ubuntu2.2_i386.deb) ...
Selecting previously unselected package libmono-2.0-dev.
Unpacking libmono-2.0-dev (from .../libmono-2.0-dev_2.10.8.1-1ubuntu2.2_i386.deb) ...
Selecting previously unselected package libmono-corlib4.0-cil.
Unpacking libmono-corlib4.0-cil (from .../libmono-corlib4.0-cil_2.10.8.1-1ubuntu2.2_all.deb) ...
Selecting previously unselected package libmono-system-xml4.0-cil.
Unpacking libmono-system-xml4.0-cil (from .../libmono-system-xml4.
и подробнее ...
Фактически, вывести пару сотен строк. Кажется, что это не соответствует no output except for errors.
Как мне получить apt-get install, чтобы распечатать больше , если есть ошибки, связанные с его установкой?
Простое перенаправление может сделать это. Это не совсем то, что вы имели в виду, я уверен, но он уверен, что черт работает:)
Короче говоря, просто удалите > /dev/null в конце любой команды, в которой вы хотите перенаправить все stdout в ничто. Вещи, выводимые на stderr, будут отображаться на консоли.
$ sudo apt-get update > /dev/null
[sudo] password for oli:
$
Нет мусора! И вот что происходит, если мы глупы и что-то сломаем:
$ apt-get cheese > /dev/null
E: Invalid operation cheese
$
Мы столкнулись с той же проблемой. apt-get install -qq удаляет большую часть выходов, но раздражает «(база данных Чтения ...» по-прежнему сохраняется.
Мы посмотрели в источнике apt и обнаружили, что вывод производится dpkg, который был разветвлен apt. Затем источник dpkg показывает, что раздражающий soutput выдается только тогда, когда isatty (1) истинно. Это только тот случай, когда fork использует pty вместо pipe. Вернуться к apt, есть недокументированная конфигурация, которая позволяет использовать pipe вместо pty, который затем решает проблему:
apt-get install -qq -o=Dpkg::Use-Pty=0 <packages>
Ожидая, что это может помочь другим.