[Bug 874409] Re: apt-get -q flag fails to squelch status -qq hides everything

David Kalnischkies 874409 at bugs.launchpad.net
Sat Oct 15 09:21:55 UTC 2011


Changing the meaning of -qq might have worked thirteen or maybe even
teen years ago, now everything (and your dog) depends on that behavior,
so you will make a lot of people and scripts very angry for literally no
reason. As i already said, the complete description of -q is "produces
output suitable for logging, omitting progress indicators." It doesn't
say no progress is visible, it just says that it is possible to log this
output and that "indicators" are omitted. It can't get much clearer than
that. At least i don't see how, do you have a recommendation for a
better wording?

And -qq actually answers your question: 
apt-get whatever -qq
will tell you if the request was successful or not and if not it will tell you also why -- no output is a good thing for commandline applications. If you want output add something like
 && echo "successful" || echo "failed" 
to your request. That's also why i said that "already installed" is not an error, as if it would be an error you would get a "failed" here even through the request is satisfied and therefore successful.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/874409

Title:
  apt-get -q flag fails to squelch status -qq hides everything

Status in “apt” package in Ubuntu:
  Invalid

Bug description:
  According to the docs, apt-get install -q foo should install the
  package foo, while suppressing progress messages. It does not. Quiet
  level 2 (-qq or -q=2) will suppress those messages, but also
  suppresses errors/summary. There is no middle ground.

  Example:

  $ sudo apt-get install -q=1 mysql-server
  Reading package lists...
  Building dependency tree...
  Reading state information...
  mysql-server is already the newest version.
  0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  $ sudo apt-get install -q=2 mysql-server
  $

  The second example is probably correct output, but the first should
  suppress "Reading package lists..." type output as they are, as
  defined in the man page, "progress indicators". Certainly -q should
  output "mysql-server is already the newest version" which amounts to
  an error message. It's arguable if the summary "0 upgraded, 0 newly
  installed, 0 to remove and 0 not upgraded" should be included or not.
  Either way, the docs are pretty clear that the progress messages don't
  belong there at all.

  Another approach would be to add a -q=3 which does what -q=2 does now,
  and make -q=2 suppress the progress indicators, but then what exactly
  is -q=1 doing? There must be some output that it does suppress, but
  I'm not able to tell what it is.

  ProblemType: Bug
  DistroRelease: Ubuntu 11.04
  Package: apt 0.8.13.2ubuntu4.2
  ProcVersionSignature: Ubuntu 2.6.38-11.50-generic 2.6.38.8
  Uname: Linux 2.6.38-11-generic x86_64
  Architecture: amd64
  Date: Fri Oct 14 12:13:20 2011
  InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release amd64 (20110427.1)
  ProcEnviron:
   LANGUAGE=en_US:en
   PATH=(custom, user)
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: apt
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/874409/+subscriptions




More information about the foundations-bugs mailing list