Automatycznie zachowuj aktualną wersję plików konfiguracyjnych podczas instalacji apt-get


14

Muszę automatycznie zainstalować pakiet z plikiem konfiguracyjnym już obecnym na serwerze.

Szukam czegoś takiego:

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

Prawdopodobnie głupie pytanie, ale nie mogę znaleźć takiej opcji.

Odpowiedzi:


29

Znajdź odpowiedź na blogu Raphaela Hertzoga :

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

Rolą dpkg jest konfiguracja, a zatem wybranie, który plik conf ma zostać zachowany.


13

W obecnych systemach Ubuntu potrzebujesz trochę więcej:

export DEBIAN_FRONTEND=noninteractive ; apt-get dist-upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" --force-yes

Głupie pytanie: dlaczego podajesz jednocześnie dwie pozornie wykluczające się opcje? confdef vs confold ? Jeśli to naprawdę działa, to z pewnością tylko kwestia kolejności oceny? Nie, żebym spróbował ...
zadzwonił

1
„--force-confold: nie modyfikuj bieżącego pliku konfiguracyjnego, nowa wersja jest instalowana z przyrostkiem .dpkg-dist. Dzięki tej opcji nawet pliki konfiguracyjne, które nie zostały zmodyfikowane, pozostają niezmienione. Musisz to połączyć z opcją --force-confdef, aby zezwolić dpkg na zastąpienie plików konfiguracyjnych, które nie zostały zmodyfikowane. "
Craig Francis

1
--force-yespowinien być używany w ostateczności, ponieważ ma on szansę na uszkodzenie twojego systemu! Odwiedź tę stronę man, aby uzyskać szczegółowe informacje na temat korzystania z przełączników --allow .
Steven K7FAQ
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.