Como obter “apt-get -y upgrade” dentro de um script PHP para funcionar como esperado?

1

Sim, estou ciente de atualização autônoma, mas não gosto das limitações desse pacote. Eu tenho um script PHP que faz as seguintes chamadas:

...
system("/usr/bin/apt-get update");
system("/usr/bin/apt-get -y upgrade 2>&1 > /tmp/apt_get.txt");
system("/usr/bin/apt-get autoremove");
system("/usr/bin/apt-get autoclean");
...

O script é configurado via cron para ser executado automaticamente em um agendamento. Parece executar todos os comandos corretamente como root. No entanto, o 'apt-get -y upgrade' não executa a atualização como evidenciado aqui na saída do /tmp/apt_get.txt:

Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be upgraded:
  iproute
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 444 kB of archives.
After this operation, 1,024 B of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main iproute amd64 20111117-1ubuntu2.3 [444 kB] Fetched 444 kB in 1s (374 kB/s)

Executar manualmente o 'apt-get upgrade' mostra que o pacote foi baixado, mas não instalado:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
  iproute
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/444 kB of archives.
After this operation, 1,024 B of additional disk space will be used.
Do you want to continue [Y/n]? n
Abort.

Assim, o apt-get faz o download do pacote com sucesso, mas na verdade não realiza a atualização. O que preciso alterar para que esse script funcione como esperado? Quase parece um bug em "apt-get -y upgrade" em si. (Executando o Ubuntu 12.04.4 LTS aqui.)

    
por Su Do 03.06.2014 / 20:12

1 resposta

2

Eu suponho que ele pergunta se deseja substituir / manter / diff arquivos de configuração editados. Você precisa adicionar DEBIAN_FRONTEND = não interativo nesse caso.

DEBIAN_FRONTEND=noninteractive apt-get -y upgrade
    
por 03.06.2014 / 20:28

Tags