Câu hỏi Tự động trả lời 'Có' khi sử dụng cài đặt apt-get


Có cách nào để làm apt-get install trả lời "có" cho "Bạn có muốn tiếp tục [y / N] không?"?


288
2017-07-16 20:34


gốc




Các câu trả lời:


thông qua trang người dùng apt-get:

apt-get -y install [packagename]

336
2017-07-16 20:36



Điều này có giống với câu trả lời @bclermont (--yes --force-yes) không? - jjxtra


Vấn đề với:

apt-get --yes install $something

là nó sẽ yêu cầu xác nhận thủ công nếu khóa công khai của chủ sở hữu chữ ký của gói không có trong vòng khoá hoặc một số điều kiện khác. để chắc chắn nó không yêu cầu một xác nhận chỉ cần làm điều này:

apt-get --yes --force-yes install $something

Nếu bạn muốn có các cài đặt này vĩnh viễn, hãy tạo một tệp trong /etc/apt/apt.conf.d/, như /etc/apt/apt.conf.d/90forceyes với nội dung sau:

APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";

155
2017-07-16 22:08



1 cho giống. Tất cả -y đã nhận được nhàm chán. (Thêm vào đó là một câu trả lời hoàn chỉnh hơn.) - Dennis Williamson
1 câu trả lời hay nhất - Tôi đang tìm giải pháp để buộc có, thay vì phải chỉ định nó mỗi lần - Robin Winslow
Nó sẽ hoạt động khi nó nói "Để tiếp tục gõ cụm từ 'Có, hãy làm như tôi nói!'" Quá? Nếu không phải là công việc xung quanh thì sao? Tôi gặp phải điều này khi cố gắng thay thế sysvinit bằng systemd trong hình ảnh debian chroot của tôi. - Lennart Rolland
Xin đừng bao giờ sử dụng --force-yes: như trả lời này cho một chuỗi liên quan trên debian-devel gợi ý, --force-yes có thể khiến hệ thống không sử dụng được. (Tôi không downvoting bởi vì câu trả lời thực sự giải quyết vấn đề như đã nêu bởi OP, nhưng tôi sẽ thêm một CẢNH BÁO ĐỎ lớn cho câu trả lời anyway.) - kostix
APT :: Get :: Assume-Yes "true"; đã giúp tôi tránh bị gián đoạn trong quá trình cài đặt trong vùng chứa docker. - Mehdi Sadeghi


Lưu ý rằng nếu bạn cũng muốn tự động đi theo các câu trả lời mặc định khi một lời nhắc tương tác xuất hiện, bạn có thể sử dụng DEBIAN_FRONTEND=noninteractive

Cài đặt đơn:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y install [packagename]

Ví dụ.:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix

Tất cả cập nhật:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y update 

Bạn có thể thiết lập tùy chọn tốt hơn với -o Dpkg::Options::="--force-confdef" và -o Dpkg::Options::="--force-confold".

Ví dụ:

apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"

hoặc là

apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" dist-upgrade

Ví dụ về lời nhắc tương tác:

enter image description here

Thú vị đọc: Thực hiện cài đặt không giám sát gói Debian


37
2017-07-12 18:36





APT::Get::Assume-Yes "true";

APT::Get::force-yes "true";

Điều này ít nhất phải ở trong /etc/apt/apt.conf và nhận xét. Tôi lo lắng rằng Ubuntu đang sử dụng Microsoft luôn yêu cầu sự cho phép.

"Bạn có chắc chắn?", Tất nhiên tôi chắc chắn, tôi không phải là một con khỉ được đào tạo chỉ cần gõ đi vào bàn phím, sẽ nhấp vào hạnh phúc.

Kế bên cánh cửa sẽ hỏi, "Anh có chắc là anh muốn ra ngoài không?"
Lò sẽ hỏi, "Bạn có chắc bạn muốn nấu ăn không?"
Ô tô sẽ hỏi, "Bạn có chắc chắn muốn áp dụng hệ thống phanh không?"
Bình cứu hỏa sẽ hỏi, "Anh có chắc là anh muốn dập lửa không?"
Tôi xin lỗi Dave, tôi không thể để bạn làm điều đó.
HAL9000 có thể sử dụng độ co nhưng dữ liệu không thể hoặc không thể.


15
2018-06-07 01:00



Đây là câu trả lời hay nhất - Robin Winslow
Sự khác biệt với HAL9000 và dpkg yêu cầu sự cho phép là HAL đã nói "không, thời gian", trong khi điều "Có, làm như tôi nói" chỉ hiển thị nếu bạn sắp hoàn toàn và phá vỡ hoàn toàn hệ thống của mình. Nếu đó là những gì bạn muốn, chắc chắn, đi trước. Nhưng có một cảnh báo trong trường hợp đó có vẻ hợp lý. - Wouter Verhelst


Từ apt-get HOWTO

Sử dụng -y công tắc điện: apt-get -y install packagename


8
2017-07-16 20:37





apt-get -y update
apt-get -y install [package]

7
2017-07-16 20:37



+1, nhưng tại sao update cần sự cho phép? - amyassin
@amyassin apt-get update lệnh yêu cầu quyền root vì nó cập nhật danh sách gói địa phương (chỉ mục), là các tệp hệ thống do root sở hữu. - jjmontes


nói chung các tùy chọn từ hướng dẫn sử dụng sẽ hoạt động tốt

apt-get -y --force-yes install package

nếu nó không thành công, bạn có thể thử sử dụng yes chỉ huy.

yes | apt-get -y --force-yes install package

đã sử dụng điều này với kịch bản cung cấp shell lang thang của tôi

PS: trong trường hợp bạn muốn không tương tác nhưng nói chung không có thì bạn có thể thử điều này:

yes no | apt-get install package

2
2017-11-17 16:51