Trước hết, hãy hiểu tại sao tin nhắn xuất hiện. Trong thực tế, nếu gói không có phụ thuộc mà bạn chưa cài đặt hoặc bạn đã nói rõ ràng để cài đặt, apt không bao giờ hỏi bạn:
➜ ~ sudo apt-get -qq install xfce4-screenshooter
Selecting previously unselected package xfce4-screenshooter.
(Reading database ... 296146 files and directories currently installed.)
Preparing to unpack .../xfce4-screenshooter_1.8.1-2_amd64.deb ...
Unpacking xfce4-screenshooter (1.8.1-2) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for man-db (2.6.7.1-1) ...
Processing triggers for gnome-menus (3.13.3-1) ...
Processing triggers for desktop-file-utils (0.22-1) ...
Processing triggers for mime-support (3.56) ...
Setting up xfce4-screenshooter (1.8.1-2) ...
Trong khi nếu bạn muốn cài đặt một gói phụ thuộc vào các gói bạn không đề cập thì sẽ hỏi:
➜ ~ sudo apt-get -q install avis
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
libjzlib-java libmina-java libslf4j-java
Suggested packages:
libmina-java-doc libspring-beans-java libcommons-logging-java
liblog4j1.2-java
The following NEW packages will be installed:
avis libjzlib-java libmina-java libslf4j-java
0 upgraded, 4 newly installed, 0 to remove and 14 not upgraded.
Need to get 720 kB of archives.
After this operation, 1,258 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Mà thậm chí, sẽ không hỏi nếu bạn cũng ngầm nói rằng bạn muốn cài đặt các gói đó:
➜ ~ apt-get -q install avis libjzlib-java libmina-java libslf4j-java
Reading package lists...
Building dependency tree...
Reading state information...
Suggested packages:
libmina-java-doc libspring-beans-java libcommons-logging-java
liblog4j1.2-java
The following NEW packages will be installed:
avis libjzlib-java libmina-java libslf4j-java
0 upgraded, 4 newly installed, 0 to remove and 14 not upgraded.
Inst libjzlib-java (1.1.3-1 Debian:testing [all])
Inst libslf4j-java (1.7.7-1 Debian:testing [all])
Inst libmina-java (1.1.7.dfsg-11 Debian:testing [all])
Inst avis (1.2.2-2 Debian:testing [all])
Conf libjzlib-java (1.1.3-1 Debian:testing [all])
Conf libslf4j-java (1.7.7-1 Debian:testing [all])
Conf libmina-java (1.1.7.dfsg-11 Debian:testing [all])
Conf avis (1.2.2-2 Debian:testing [all])
Nhưng, sau đó, làm thế nào để làm cho nó không yêu cầu bạn dứt khoát? Thông qua câu trả lời của Rizwind sẽ bao gồm các giải pháp đặc biệt và kịch bản (trên thực tế, tùy chọn đó được sử dụng nhiều hơn trong các tập lệnh), thay vào đó bạn có thể sửa đổi apt.conf
tệp của mình và thêm:
APT::Get::Assume-Yes
Một cái gì đó như thế này là đủ:
echo 'APT::Get::Assume-Yes;' | sudo tee -a /etc/apt/apt.conf.d/00Do-not-ask
Lưu ý, điều này sẽ không cho phép các lời nhắc khác nghiêm trọng hơn mà bạn nên xác minh , như:
➜ ~ sudo apt-get install sonar
WARNING: The following packages cannot be authenticated!
sonar
Install these packages without verification? [y/N]
Đó là lý do tại sao tôi không khuyến nghị sử dụng yes | ...
, vì cảnh báo này sẽ bị bỏ qua.