¿Cómo hago para que apt-get install sea menos ruidoso?

¿Cómo hago para que apt-get install sea menos ruidoso?

Si uso apt-get install -qq mono-devel, espero que esté silencioso excepto por errores, según la ayuda:

-qq No output except for errors

En lugar de eso obtengo:

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.

ymás...

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

¿Cómo puedo realmente apt-get installimprimir?solo¿Cuándo hay errores que impiden la instalación?

Respuesta1

La página de manual de 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}}

La bandera -qo -qqdebería irantesel comando, así:

apt-get -qq upgrade

Respuesta2

Nos enfrentamos al mismo problema. apt-get install -qqelimina la mayoría de los resultados, pero el molesto "(Leyendo base de datos ..." aún persiste.

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

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

Esperar que eso pueda ayudar a otros.

Respuesta3

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

En resumen, simplemente golpea > /dev/nullel final de cualquier comando donde quieras redirigir todo stdouta la nada. Las cosas generadas stderraún se mostrarán en la consola.

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

¡Sin basura! Y esto es lo que pasa si somos tontos y rompemos algo:

$ apt-get cheese > /dev/null
E: Invalid operation cheese
$

Respuesta4

Con apt-get -qq install -y PACKAGE 2> /dev/nullusted puede:

  1. Mostrar sólo los errores con -qq.
  2. Envíe los errores a /dev/null(no mostrar) para que pueda instalar un paquete con salida cero.

información relacionada