
을 사용하면 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 소스는 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)로 보내면 출력이 0인 패키지를 설치할 수 있습니다.