Deadlock with yes command

2

Eu tenho um script chamado setup.sh :

. install.sh && . tolinux.sh && . startn.sh && . startm.sh

Isso é install.sh :

yes | sudo apt-get update
yes | sudo apt-get install default-jdk
yes | sudo apt-get install expect
sudo apt-get install lftp

cd /usr/local/src/
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar xf noip-duc-linux.tar.gz
cd noip-2.1.9-1/

/usr/bin/expect <<END_SCRIPT
spawn make install
expect "Please enter the login/email*" { send "Username\r" }
expect "Please enter the password for user*" { send "password\r" }
expect "Please enter an update interval*" { send "30\r" }
expect "Do you wish to run something at successful update*" {send "N\r" }
END_SCRIPT

É assim que eu corro tudo no terminal:

. setup.sh

O comando yes causa problemas em algum lugar nas duas primeiras linhas. Eu sei que ambas as instalações pedem confirmação. O que acontece é uma saída semelhante a esta:

y
y
y
y
y
y
y
y
y
y
y
y
y
y
y
ySelecting previously unselected package libdatrie1:amd64.
Preparing to unpack .../libdatrie1_0.2.8-1_amd64.deb ...
Unpacking libdatrie1:amd64(0.2.8-1) ...
[several similar lines]
Selecting previously unselected package libpango-1.0-0:amd64.
Preparing to unpack .../libpango-1.0-0_1.36.3-1ubuntu1_amd64.deb ...
Unpacking libpango-1.0-0:amd64 (1.36.3-1ubuntu1) ...
_

(último sublinhado é onde o cursor continua piscando)

Eu estou supondo que o comando yes de alguma forma interrompeu a instalação, mas eu não entendo por que ou como ...

Alguma idéia?

    
por Karlovsky120 09.09.2014 / 14:04

1 resposta

5

de man apt-get

   -y, --yes, --assume-yes
       Automatic yes to prompts; assume "yes" as answer to all prompts and run non-interactively. If an
       undesirable situation, such as changing a held package, trying to install a unauthenticated package or
       removing an essential package occurs then apt-get will abort. Configuration Item: APT::Get::Assume-Yes.

você já tentou?

editar

minha proposta para o install.sh

 sudo apt-get -y update
 sudo apt-get -y install default-jdk
 sudo apt-get -y install expect
 sudo apt-get install lftp

 # rest unchanged
    
por 09.09.2014 / 14:11

Tags