
を使用する場合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
実際に印刷するにはどうすればいいですかのみエラーが発生してインストールできない場合はどうすればよいですか?
答え1
apt-get のマニュアルページは次のとおりです。
NAME
apt-get - APT package handling utility -- command-line interface
SYNOPSIS
apt-get [-asqdyfmubV] [-o=config_string] [-c=config_file] [-t=target_release]
[-a=architecture] {update | upgrade | dselect-upgrade | dist-upgrade |
install pkg [{=pkg_version_number | /target_release}]... | remove pkg... |
purge pkg... | source pkg [{=pkg_version_number | /target_release}]... |
build-dep pkg [{=pkg_version_number | /target_release}]... |
download pkg [{=pkg_version_number | /target_release}]... | check | clean |
autoclean | autoremove | {-v | --version} | {-h | --help}}
またはフラグ-q
は-qq
前にコマンドは次のようになります:
apt-get -qq upgrade
答え2
私たちも同じ問題に直面しました。apt-get install -qq
出力のほとんどが削除されましたが、迷惑な「(データベースを読み込んでいます...」がまだ残っています。
apt のソースを調べたところ、出力は apt によってフォークされた dpkg によって生成されたものであることがわかりました。次に、dpkg のソースを見ると、厄介な soutput は isatty(1) が true の場合にのみ発行されることがわかります。これは、フォークがパイプではなく pty を使用する場合にのみ発生します。apt に戻ると、pty ではなくパイプを使用できるようにする、文書化されていない構成変数があり、これにより問題が解決します。
apt-get install -qq -o=Dpkg::Use-Pty=0 <packages>
それを期待することは他の人を助けることができます。
答え3
単純なリダイレクトでこれを実現できます。これはまさにあなたが考えていたものとは違いますが、確実に機能します :)
つまり、すべてを空に> /dev/null
リダイレクトしたいコマンドの末尾に を追加するだけです。 出力されたものはコンソールに引き続き表示されます。stdout
stderr
$ sudo apt-get update > /dev/null
[sudo] password for oli:
$
ジャンクはありません! 愚かなことをして何かを壊してしまったら、次のようになります:
$ apt-get cheese > /dev/null
E: Invalid operation cheese
$
答え4
を使用するとapt-get -qq install -y PACKAGE 2> /dev/null
次のことができます:
- のエラーのみを表示します
-qq
。 - エラーを
/dev/null
(not show) に送信すると、出力なしでパッケージをインストールできます。