Cách ngăn lời nhắc yêu cầu khởi động lại dịch vụ khi cài đặt libpq-dev


29

Tôi muốn cài đặt libpq-devtrên máy Vagrant của tôi. Tôi cài đặt nó với

$ apt-get install -y libpq-dev

Trong khi cài đặt, một dấu nhắc xuất hiện hỏi liệu nó có được phép tự động khởi động lại một số dịch vụ không. Lời nhắc này phá vỡ điều khoản Vagrant của tôi. Làm thế nào có thể vô hiệu hóa lời nhắc này?

lời nhắc

Bản văn:

Có những dịch vụ được cài đặt trên hệ thống của bạn cần được khởi động lại khi một số thư viện nhất định, chẳng hạn như libpam, libc và libssl, được nâng cấp. Vì các lần khởi động lại này có thể gây gián đoạn dịch vụ cho hệ thống, thông thường bạn sẽ được nhắc trên mỗi lần nâng cấp cho danh sách các dịch vụ bạn muốn khởi động lại. Bạn có thể chọn tùy chọn này để tránh bị nhắc nhở; thay vào đó, tất cả các khởi động lại cần thiết sẽ được thực hiện cho bạn một cách tự động để bạn có thể tránh bị hỏi các câu hỏi trên mỗi lần nâng cấp thư viện.

****CHỈNH SỬA ****

Nhờ câu trả lời của Patrick và câu hỏi này tôi đã sửa nó. Bây giờ Vagrantfile của tôi chứa:

 sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libpq-dev

Tôi đã đề nghị sử dụng -ynhưng dường như nó không thay đổi nhiều. xemman apt-get | less +/--force-yes
Valentin Bajrami

Tôi cũng đã thử điều đó, nhưng điều đó cũng không hiệu quả.
OrangeTux

Câu trả lời:


28

Đặt biến môi trường DEBIAN_FRONTEND=noninteractive.

Ví dụ:

export DEBIAN_FRONTEND=noninteractive
apt-get install -y libpq-dev

Điều này sẽ làm cho apt-getchọn các tùy chọn mặc định.


2
Không hoạt động trong trường hợp này.
Nigel Horne

2
Vui lòng xác định "trường hợp này" là gì. Tác giả của câu hỏi đã chọn câu trả lời này là chính xác. Nếu câu trả lời không phù hợp với bạn, tôi khuyên bạn nên hỏi một câu hỏi mới và đảm bảo làm rõ trường hợp của bạn khác nhau như thế nào và điều này không hiệu quả với bạn.
Patrick

1
Nó cũng không làm việc cho tôi.
Felipe

Là tùy chọn mặc định để khởi động lại dịch vụ hay không khởi động lại dịch vụ?
Nicholi

cũng không làm việc cho tôi - export DEBIAN_FRONTEND=noninteractive; sudo apt-get update; sudo apt-get install -y libssl-dev openssl.
ubfox

9

Bạn sẽ có thể đạt được điều này bằng cách sử dụng debconf-set-selections. Từ trang người đàn ông:

debconf-set-selections can be used to pre-seed the debconf database
with answers, or to change answers in the database. Each question will
be marked as seen to prevent debconf from asking the question
interactively.

Để xác định đầu vào bắt buộc debconf-set-selectionsnếu không xác định, bạn có thể trả lời lời nhắc bằng tay và sau đó kiểm tra cơ sở dữ liệu debconf để tìm giá trị chính xác. Để làm điều này, cài đặt debconf-utils:

sudo apt-get -y install debconf-utils

cung cấp debconf-get-selectionslệnh. Sau đó:

sudo debconf-get-selections | grep libssl1.0.0:amd64

để kiểm tra các giá trị trong cơ sở dữ liệu. Trên hệ thống của tôi (Ubuntu, nhưng Debian phải tương tự) Tôi không được nhắc khi tôi cài đặt libpq-dev và tôi có mục này:

libssl1.0.0:amd64   libssl1.0.0/restart-services     string

vì vậy bạn sẽ có thể sử dụng:

echo 'libssl1.0.0:amd64 libssl1.0.0/restart-services string' | sudo debconf-set-selections

để đặt danh sách các dịch vụ khởi động lại khi nâng cấp libssl thành 'none'.

Trong Debian, cần có thêm thông tin về các giá trị hợp lệ cho dòng này trong questions.dattệp bên dưới /var/lib/cdebconf. Xem https://www.debian.org/release/ sóng / i386 / apbs03.html.en để biết thêm chi tiết.


4

Tôi nghĩ rằng các câu trả lời hiện có thể là một chút cũ. Sau đây làm việc cho tôi gần đây.

Để xem các cài đặt cho một gói

sudo debconf-show <package-name>

VÍ DỤ:

$ sudo debconf-show libssl1.1 
  libssl1.1/restart-services:
  libssl1.1/restart-failed:
* libraries/restart-without-asking: false

Để thay đổi cài đặt

echo '<package-and-setting-string>' | sudo debconf-set-selections

VÍ DỤ

echo 'libssl1.1 libraries/restart-without-asking boolean true' | sudo debconf-set-selections

Tiền thưởng, để đặt cài đặt này cho tất cả các gói, hãy sử dụng '*' thay cho tên gói.

VÍ DỤ

echo '* libraries/restart-without-asking boolean true' | sudo debconf-set-selections

Câu trả lời được chấp nhận không làm việc cho tôi nhưng sử dụng debconf-set-selectionsđã làm.
bradj
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.