"क्या आप [Y / n] जारी रखना चाहते हैं?"


52

जब आप टाइप करें तो बेशक:

sudo apt-get install whatever

यह आपसे पूछता है:

Do you want to continue [Y/n]? 

क्या कोई तरीका है कि मैं इसे बिना पूछे ही स्थापित कर सकूं कि क्या मैं जारी रखना चाहता हूं? मैं वास्तव में अंतरिक्ष की परवाह नहीं करता, मेरे पास और भी बहुत कुछ है।


सुपर उपयोगकर्ता सवाल superuser.com/questions/164553/...
αғsнιη

जवाबों:


86
sudo apt-get install -y whatever

मैन पेज से ( man apt-get):

 -y, --yes, --assume-yes

           Automatic yes to prompts; assume "yes" as answer to all prompts and
           run non-interactively. If an undesirable situation, such as
           changing a held package, trying to install a unauthenticated
           package or removing an essential package occurs then apt-get will
           abort. Configuration Item: APT::Get::Assume-Yes.

9
(खतरनाक तरीके से फाइल कैसे जीते)
user2413

आपका बहुत बहुत धन्यवाद! मुझे वास्तव में उस आदमी पृष्ठ का अधिक बार उपयोग करना चाहिए। :)
ल्यूक

2
); यही कारण है कि वे वहाँ @KingShimkus हैं
Rinzwind

5
sudo apt-get install -yeah जो भी हो ...
BoJack Horseman

अब अगर केवल डॉकटर पैकेज को अपग्रेड करने के लिए ही काम किया गया है।> <यदि आपने पहले कभी डॉकर को अपग्रेड नहीं किया है, तो यहां टर्मिनल में पॉप-अप की एक छवि है, यहां तक ​​कि जब आप उपयोग करते हैं --yes: Imgur यह असाधारण रूप से कष्टप्रद है क्योंकि पैकेज अपडेट के दौरान बातचीत में बल मिलता है। ।
स्पेंसर डी

15

Apt -get, -yया --assume-yesअच्छी तरह से काम करने के लिए (जैसा कि @rinzwind ने समझाया) और मुझे लगता है कि यहाँ सबसे अच्छा जवाब है। ऐसे कई इंटरैक्टिव प्रशासनिक कार्यों के लिए, एक समान कमांड है।

ऐसा करने के लिए एक और सुंदर सामान्य तरीका कुछ इस तरह है:

 $ echo "y" | sudo apt-get install edamame_biscuit

(जहां edamame-biscuit है (बनाया गया) पैकेज जिसे आप इंस्टॉल करना चाहते हैं, और "y" को एक वैध प्रतिक्रिया माना जाता है, "हां" या अन्य पाठ के विकल्प के रूप में प्रतिस्थापित किया जाता है।)

इस पद्धति का एक 'फीचर' यह है कि यह तब टूटेगा जब आप गलत तरीके से केवल एक इंटरैक्टिव प्रॉम्प्ट मान रहे हैं। यदि कुछ और संभावित अवांछित संकेत हैं, तो आप हाँ कहना नहीं चाहेंगे, आप बिना पूछे सिस्टम रोल होने की स्थिति से बच सकते हैं।


13
इसके अलावा, yes | sudo apt-get install edamame-biscuit। हाँ एक कमांड है जो "हाँ" शब्द को इसके आउटपुट तक फैलाता है। आप इसे आवश्यकतानुसार किसी अन्य पाठ का आउटपुट भी बना सकते हैं, मैनपेज देखें।
19

14
@Kroltan yesकमांड (डिफ़ॉल्ट रूप से) yपाइप बफर को भरने के लिए जितनी बार आवश्यकता होती है उतनी बार एक नई लाइन के बाद पत्र को आउटपुट करता है । वास्तव में शब्द को प्रिंट करने के लिए yes, आपको कमांड का उपयोग करना होगा yes yes
जोनाथन कॉलन

3
yes, मेरी गलती को क्षमा करें
क्रोल्टन

4
@Braiam मुझे लगता है कि यह बात थी, इसलिए यह कुछ भी नहीं करता है अगर कोई इसे सिर्फ अपने खोल में रखता है।
क्रोल्टन

2
मुझे विशेष रूप से इस पद्धति का भाग "ए 'फीचर पसंद है, यह है कि यह टूट जाएगा यदि आप गलत तरीके से केवल एक इंटरएक्टिव संकेत मान रहे हैं।" के रूप में सब कुछ करने के लिए हाँ स्पैमिंग अतिरिक्त खतरनाक हो सकता है।
BeowulfNode42

4

सबसे पहले, यह समझने की सुविधा देता है कि संदेश क्यों दिखाई देता है। वास्तव में, यदि पैकेज में निर्भरता नहीं है जिसे आपने पहले से स्थापित नहीं किया है या जिसे आपने इसे स्थापित करने के लिए स्पष्ट रूप से कहा है, तो उपयुक्त पूछे:

➜  ~  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) ...

यदि आप एक पैकेज स्थापित करना चाहते हैं जो उन पैकेजों पर निर्भर करता है जिनका आपने उल्लेख नहीं किया है तो यह पूछना होगा:

➜  ~  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] 

यदि ऐसा है, तो यह भी न पूछें कि क्या आप यह भी कहते हैं कि आप उन पैकेजों को स्थापित करना चाहते हैं:

➜  ~  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])

लेकिन, फिर, इसे कैसे बनाया जाए कि यह आपको निश्चित रूप से नहीं पूछता है? रिवाइविंड के माध्यम से उत्तर को तदर्थ और स्क्रिप्टिंग समाधानों को कवर करना चाहिए (वास्तव में, यह विकल्प स्क्रिप्ट में अधिक उपयोग किया जाता है) इसके बजाय आप अपनी apt.confफाइल को संशोधित कर सकते हैं और जोड़ सकते हैं:

APT::Get::Assume-Yes

इस तरह से कुछ पर्याप्त होना चाहिए:

echo 'APT::Get::Assume-Yes;' | sudo tee -a /etc/apt/apt.conf.d/00Do-not-ask

ध्यान दें, यह अन्य अधिक प्रबल संकेतों की अनुमति नहीं देगा, जिन्हें आपको सत्यापित करना चाहिए , जैसे:

➜  ~  sudo apt-get install sonar
WARNING: The following packages cannot be authenticated!
  sonar
Install these packages without verification? [y/N] 

यही कारण है कि मैं yes | ...इस चेतावनी को नजरअंदाज कर दिया जाएगा, क्योंकि मैं के उपयोग की सिफारिश नहीं करेंगे।


"चेतावनी: निम्नलिखित पैकेजों को प्रमाणित नहीं किया जा सकता है!", इसके बारे में किसी को क्या करना चाहिए? मुझे यह डॉकर छवि ( python:3.6-slim) के लिए मिलता है । क्या मुझे उसके लिए एक अलग प्रश्न पूछना चाहिए?
मार्टिन थोमा

@MartinThoma आमतौर पर, यह गैर-अद्यतन पैकेज सूची के साथ एक समस्या है। स्थापित करने से पहले apt-get अद्यतन चलाएँ। यदि वह संदेश नहीं हटाता है, तो एक प्रश्न पूछें जो आप कर सकते हैं, आप कैसे कर सकते हैं।
ब्रिअम

0

-yकिसी भी पुस्तकालय स्थापित करने के लिए जोड़ें

जैसे :sudo apt-get install -y nodejs

जैसे :sudo apt-get install -y postgres

जैसे :sudo apt-get install -y mongodb




नहीं है --force-yes as well, और आकस्मिक रिक्त स्थान की सावधान। हाल ही में विकृतियों के लिए मूल्यह्रास

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.