Manter automaticamente a versão atual dos arquivos de configuração ao instalar o apt-get

14

Preciso instalar automaticamente um pacote com seu arquivo de configuração já presente no servidor.

Estou procurando algo como:

apt-get install --yes --force-yes --keep-current-confs mysql-server

Provavelmente uma pergunta idiota, mas não consigo encontrar essa opção.

Falken
fonte

Respostas:

29

Encontrei a resposta no Blog de Raphael Hertzog :

apt-get install -o Dpkg::Options::="--force-confold" --force-yes -y mysql-server

É função do dpkg configurar, portanto, escolher qual arquivo conf manter.

Falken
fonte
13

Nos sistemas ubuntu atuais, você precisa de um pouco mais:

export DEBIAN_FRONTEND=noninteractive ; apt-get dist-upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes
edlerd
fonte
Pergunta boba: por que você especifica duas opções aparentemente mutuamente exclusivas ao mesmo tempo? confdef vs confold ? Se isso realmente funcionar, certamente é apenas uma questão de ordem de avaliação? Não que eu tentei ...
tink
1
"--force-confold: não modifique o arquivo de configuração atual, a nova versão é instalada com um sufixo .dpkg-dist. Somente com essa opção, até os arquivos de configuração que você não modificou são deixados intocados. É necessário combiná-lo com --force-confdef para permitir que o dpkg substitua os arquivos de configuração que você não modificou. "
Craig Francis
1
--force-yesdeve ser usado como último recurso, pois tem a oportunidade de quebrar seu sistema! Por favor, visite esta página de gerenciamento para obter detalhes sobre o uso das opções --allow .
Steven K7FAQ