¿Cómo hago para que la instalación de apt-get sea menos ruidosa?

106

Si uso apt-get install -qq mono-devel , espero que sea silencioso excepto por errores, de acuerdo con la ayuda:

-qq No output except for errors

En cambio, recibo:

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.

y más ...

De hecho, un par de cientos de líneas de producción. Esto no parece coincidir con no output except for errors .

¿Cómo obtengo apt-get install para imprimir solo cuando hay errores que impiden su instalación?

    
pregunta jbtule 19.02.2013 - 14:48

3 respuestas

62

La página man para apt-get es la siguiente:

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}}

El indicador -q o -qq debe ir antes de el comando, así:

apt-get -qq upgrade

    
respondido por el Mike 27.04.2015 - 22:37
49

Una redirección simple podría hacer esto. No es exactamente lo que tenía en mente, estoy seguro, pero seguro que funciona:)

En resumen, simplemente haz clic en > /dev/null al final de cualquier comando en el que desees redirigir todo el stdout a la nada. Las cosas producidas en stderr seguirán apareciendo en la consola.

$ sudo apt-get update > /dev/null
[sudo] password for oli: 
$ 

¡No basura! Y esto es lo que sucede si somos tontos y rompemos algo:

$ apt-get cheese > /dev/null
E: Invalid operation cheese
$
    
respondido por el Oli 19.02.2013 - 15:18
32

Nos enfrentamos al mismo problema. apt-get install -qq elimina la mayoría de las salidas pero sigue siendo molesto "(Reading database ...").

Echamos un vistazo a la fuente de apt y descubrimos que la salida está producida por dpkg que fue bifurcado por apt. Entonces, la fuente de dpkg muestra que el molesto valor del sur solo se emite cuando isatty (1) es verdadero. Este es solo el caso cuando la horquilla usa pty en lugar de tubería. Volviendo a apt, hay una variable de configuración no documentada que permite utilizar pipe en lugar de pty, que luego resuelve el problema:

apt-get install -qq -o=Dpkg::Use-Pty=0 <packages>

Esperar eso puede ayudar a otros.

    
respondido por el Philippe Goetz 03.09.2015 - 16:11

Lea otras preguntas en las etiquetas