Sunday, April 17, 2011

How can I automate dpkg/apt-get?

I'm trying to create a script that automatically downloads packages for new servers. However, some things like 'mysql-server' can not installed automatically cause you need to configure them in the ncurses interface first. I've looked through the man pages and can't find anything appropriate.

I don't care if I have to upload/edit a conf file later -- I just need the appropriate packages installed.

Anyone know what to do besides grabbing tarballs and building them myself?

UPDATE found out that for things like mysql-server you can just do:

DEBIAN_FRONTEND='noninteractive' apt-get install -yq mysql-server

however expect looks like something I'll need for sun-java6-jdk; haven't evaluated it yet

From stackoverflow
  • I'm not sure exactly what configuration mysql-server needs, but you could try something like expect

    feydr : thanks for the suggestion -- I remember coming across that years ago and totally disregarded it -- looks like it's the hot ticket here however
  • For packages that ask questions through debconf (which is what puts up the ncurses display), you can pre-answer the questions. For sun-java, the questions can be pre-answered by following the instructions at http://www.davidpashley.com/blog/debian/java-license

  • I would look into cron-apt. I haven't tried it myself, but it's package description sounds promising.

0 comments:

Post a Comment