apt-get install teljesen automatikusan

Fórumok

Adott egy script ami automatikusan telepit fel apt-get -tel programokat (icecast2, mpd, mplayer, stb...) es a hozzajuk tartozo beallitasokat is testreszabja.
A scriptben benne is van a kovetkezo sor:


apt-get install -y icecast2 mpd mpc mplayer mpg123 vorbis-tools

Az mpd telepitesenel viszont elakad a dolog ezzel:


Setting up mpd (0.15.12-1.1) ...
Starting Music Player Daemon: mpdcreating /var/lib/mpd/tag_cache... ... (warning).
Failed to load database: Failed to open database file "/var/lib/mpd/tag_cache": No such file or directory
output: line 177: No such audio output plugin: alsa
Aborted
 failed!
invoke-rc.d: initscript mpd, action "start" failed.
dpkg: error processing mpd (--configure):
 subprocess installed post-installation script returned error exit status 134
configured to not write apport reports
                                      Errors were encountered while processing:
 mpd
E: Sub-process /usr/bin/dpkg returned an error code (1)

Ezzel meg nincs is gond mivel nem akarom ALSA-val hasznalni, hanem majd az icecast2 szerverre fog adni sajat config fajlal. Tehat kitalaltam azt, hogy alapbol daemonkent ne induljon el. Az apt-get install elott lefut egy ' echo "START_MPD=false" > /etc/default/mpd ', hogy meg veletlenul se probaljon a telepites utan rogton elindulni.
Igy viszont megall a telepites emiatt:


Configuration file `/etc/default/mpd'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** mpd (Y/I/N/O/D/Z) [default=N] ?

Azt szeretnem elerni, hogy itt automatikusan az N-et valassza. De egy masik rendszer eseten ha ez nem jon elo akkor is hibatlanul fusson le.
Hogy tudom az apt-get -et ugy parameterezni, hogy ennek megfeleloen mukodjon?

Hozzászólások

ez alapvetően egy mpd bug-nak tűnik: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=489353

a második módszer jó lehet workaround-nak; a konfig kérdés elnyomásához szerintem a debconf(7) ill. dpkg-preconfigure környékén érdemes kutakodni.

... hm, igen, a debconf(7) alapján azt gondolom, hogy elég, ha az apt-get install-t egyszerűen így futtatod le (miután az /etc/default/mpd-t módosítottad):

DEBIAN_FRONTEND=noninteractive apt-get install -y icecast2 mpd mpc mplayer mpg123 vorbis-tools

A noninteractive debconf frontend a default-ot fogja választani, vagyis kérdés nélkül meg fogja tartani a te mpd konfigodat.

Kiprobaltam a dolgot 2 kulon gepen
Eloszor nem fertem hozza a kerdeses gephez igy egy masikon probaltam ki a vsftpdvel (apt-get remove, de a config file meghagy) es ott tokeletesen mukodott.
Az orom viszont korai mert a szinten Debian Squeeze rendszeren ahol az MPDt probalom igy telepiteni, hatastalan. Ugyanugy megall a kerdeses resznel. Legvegso esetben expectel is meg tudnam csinalni, de jo lenne `szebben`.

-------------------
http://www.rtvstat.hu/ - A legtöbb magyar rádió és TV egy helyen!

Egy elegge ganyolos modszerrel sikerult megcsinalni:


if [ ! -e "/usr/bin/mpd" ]
then
apt-get -y install mpd
[ $? -gt 0 ] && echo "START_MPD=false" > /etc/default/mpd ; apt-get -f install
fi

-------------------
http://www.rtvstat.hu/ - A legtöbb magyar rádió és TV egy helyen!