Si j'utilise apt-get install -qq mono-devel
, je m'attends à ce qu'il soit silencieux, à l'exception des erreurs, selon l'aide:
-qq No output except for errors
Au lieu de cela je reçois:
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.
et plus encore ...
En fait, quelques centaines de lignes de sortie. Cela ne semble pas correspondre avec no output except for errors
.
Comment puis-je réellement apt-get install
imprimer uniquement en cas d'erreur empêchant l'installation?
--quiet
option ne semble pas fonctionner correctement.Réponses:
La page de manuel d'apt-get est la suivante:
Le drapeau
-q
ou-qq
devrait aller avant la commande, comme ceci:apt-get -qq upgrade
la source
-q
fonctionne absolument (pas de sortie "animée") ainsi que-qq
(pas de sortie sauf les erreurs). S'il vous plaît upvote!-qq
avant la commande d’installation, je reçois toujours des tonnes de courrier indésirable, de la lecture de la base de données à la décompression et à la configuration des messages.sudo apt-get -qq -y install mercurial
,sudo apt-get install -qq -y mercurial
,sudo apt-get -qq install -qq -y mercurial
et d' autres variations impliquant encore plus q de (bien que je ne vois pas la documentation qui suggère cela fonctionnerait. Je suis sous Debian Jessie sur Google Cloud BTW (8). J'ai aussi essayé Goetz de réponse et cela ne semble pas fonctionner non plus. Par ne semble pas fonctionner, je veux dire, je ne remarque pas de différence.dpkg
appelantapt-get
. La commande estapt-get -qq update && apt-get -qq upgrade && apt-get -qq install build-essential
. Voir gist.github.com/stefanlasiewski/…&&
joindre (cela peut fonctionner, mais ce n'est pas la "méthode du docker") (2) rediriger la sortie vers / dev / null comme dans l'autre réponse. L'option 2 est probablement votre meilleur choix tant qu'il y a ce bug.Une simple redirection pourrait le faire. Ce n'est pas exactement ce que vous aviez en tête, j'en suis sûr, mais ça marche comme l'enfer :)
En bref, il suffit de frapper
> /dev/null
à la fin de toute commande où vous voulez rediriger tout lestdout
néant. Les élémentsstderr
affichés apparaîtront toujours dans la console.Aucune ordure! Et voici ce qui se passe si nous sommes stupides et casser quelque chose:
la source
sudo
de devantapt-get
. Vous le feriez simplementsudo
en exécutant le script.sudo apt-get upgrade -qq --force-yes > /dev/null
. comme le dit WulfHart, cela-qq
implique-y
et supprime--force-yes
à peu près tout.stdout
(voir les erreurs est une chose souhaitable, OMI).Nous avons rencontré le même problème.
apt-get install -qq
supprime la plupart des sorties mais "(lecture de la base de données ...") est toujours ennuyant.Nous avons examiné la source d'apt et découvert que la sortie est produite par dpkg, qui a été créé par apt. Ensuite, la source de dpkg montre que la soutput agaçante n’est émise que lorsque isatty (1) est vrai. Ce n'est le cas que lorsque la fourche utilise pty à la place de pipe. De retour à apt, il existe une variable de configuration non documentée qui permet d'utiliser pipe au lieu de pty, ce qui résout ensuite le problème:
S'attendre à cela peut aider les autres.
la source
-o=Dpkg::Use-Pty=0
parfait travaillé sur Ubuntu 18.04. Il ne montre qu'une "base de données de lecture" au lieu de plusieurs avec des mises à jour de progression tous les 5%.Comme vous pouvez le voir ici et ici,
vous pouvez faire:
Ou une ligne:
la source