188

I have a server build script which uses apt-get to install packages. It then puts pre-written configuration files directly in place, so the interactive post-install configuration dialog in packages such as postfix is not needed. How do I skip this stage of the installation? It creates a piece of manual intervention that I would rather avoid.

I am aware of the -qq option, but the manpage warns against using it without specifying a no-action modifier. I do want to perform an action, I just want to suppress a specific part of it.

Wolph
  • 865
  • 1
  • 7
  • 12
jl6
  • 2,455
  • 2
  • 18
  • 19

2 Answers2

287

You can do a couple of things for avoiding this. Setting the DEBIAN_FRONTEND variable to noninteractive and using -y flag. For example:

export DEBIAN_FRONTEND=noninteractive
apt-get -yq install [packagename]

If you need to install it via sudo, use:

sudo DEBIAN_FRONTEND=noninteractive apt-get -yq install [packagename]
Andrew Schulman
  • 8,561
  • 21
  • 31
  • 47
lynxman
  • 9,157
  • 3
  • 24
  • 28
  • 37
    This worked for me until one day it didn't. Some kind of "urgency=high" message. You need `DEBIAN_FRONTEND`, `y` AND the `q` flag set, i.e. `DEBIAN_FRONTEND=noninteractive apt-get -yq install [packagename]` – Jeff Mixon Jul 20 '16 at 06:45
  • Did no work for me when installing iptables-persistent :/ – user1133275 Oct 16 '20 at 19:11
1

I've found that setting -yqq and DEBIAN_FRONTEND=noninteractive don't work in some cases where apt-get stalls at the end with

Restarting the system to load the new kernel will not be handled automatically, so you should consider
rebooting. [Return]

It will not exit until after you press the enter key.

My solution to this is to do everything everyone else suggested, but also with yes piped to apt-get as follows

yes | sudo DEBIAN_FRONTEND=noninteractive apt-get -yqq purge 'my-package'
Michael Altfield
  • 525
  • 6
  • 18