Tự động giữ phiên bản hiện tại của tệp cấu hình khi cài đặt apt-get


14

Tôi cần tự động cài đặt một gói với tập tin cấu hình của nó đã có trên máy chủ.

Tôi đang tìm kiếm một cái gì đó như:

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

Có lẽ là một câu hỏi ngớ ngẩn nhưng tôi không thể tìm thấy một lựa chọn như vậy.

Câu trả lời:


29

Tìm thấy câu trả lời trên Blog của Raphael Hertzog :

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

Do đó, vai trò của dpkg là cấu hình, do đó, chọn tập tin conf nào để giữ.


13

Trên các hệ thống Ubuntu hiện tại, bạn cần thêm một chút:

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

Câu hỏi ngớ ngẩn: tại sao bạn chỉ định hai tùy chọn dường như loại trừ lẫn nhau cùng một lúc? confdef vs confold ? Nếu điều này thực sự hoạt động đó chắc chắn chỉ là vấn đề của lệnh đánh giá? Không phải là tôi đã thử nó ...
tink

1
"--force-confold: không sửa đổi tệp cấu hình hiện tại, phiên bản mới được cài đặt với hậu tố .dpkg-dist. Chỉ với tùy chọn này, ngay cả các tệp cấu hình mà bạn chưa sửa đổi cũng không được chạm vào. Bạn cần kết hợp nó với --force-confdef để cho dpkg ghi đè lên các tệp cấu hình mà bạn chưa sửa đổi. "
Craig Francis

1
--force-yesnên được sử dụng như là phương sách cuối cùng vì nó có cơ hội phá vỡ hệ thống của bạn! Vui lòng truy cập trang mange này để biết chi tiết về cách sử dụng các công tắc --allow .
Steven K7FAQ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.