如何让apt-get安装减少噪音?
如果我使用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
这似乎与no output except for errors
匹配。
如果只是在出现错误而无法安装时,我如何实际将apt-get install
打印出来?
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
一个简单的重定向可以做到这一点。 这不完全是你的想法,我敢肯定,但它肯定是有效的:)
简而言之,只需在任何要将所有stdout
重定向到虚无的命令的末尾敲击> /dev/null
。 在stderr
上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的来源,发现输出是由apt分叉的dpkg产生的。 然后dpkg的源显示只有在isatty(1)为真时才会发出恼人的soutput。 这只是当fork使用pty而不是管道时的情况。 回到apt,有一个未记录的配置变量允许使用管道而不是pty然后解决问题:
apt-get install -qq -o=Dpkg::Use-Pty=0
期待可以帮助他人。
- 你如何取消(取消暂停)包裹?
- apt-get –force-yes:如何抑制进一步的问题
- 在64位上安装Wine
- Steam需要libgl1-mesa-dri:i386,libgl1-mesa-glx:i386
- 如何在新系统上复制现有软件包?
- 以下软件包已自动安装且不再需要
- 从var / cache / apt / archives文件夹中保存* .deb文件以备将来安装
- 如何解决“dpkg:error handling存档/var/cache/apt/archives/libvlccore9_4.0.0~rc1~~git20171225+r73378+113~ubuntu16.04.1_amd64.deb(unpack)”
- 如何修复apt:按键签名使用弱摘要算法(SHA1)?