Apt-get install का उपयोग करते समय 'हां' का स्वचालित रूप से उत्तर दें


356

क्या apt-get installउत्तर देने के लिए एक रास्ता है "हाँ" "क्या आप जारी रखना चाहते हैं [y / N]?"

जवाबों:



175

के साथ समस्या:

apt-get --yes install $something

यह है कि यदि पैकेज हस्ताक्षर स्वामी की सार्वजनिक-कुंजी कीरिंग, या कुछ अन्य स्थितियों में नहीं है, तो यह मैनुअल पुष्टिकरण के लिए पूछेगा। यह सुनिश्चित करने के लिए कि यह सिर्फ एक पुष्टि नहीं करता है:

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

यदि आप इन सेटिंग्स को स्थायी करना चाहते हैं, तो /etc/apt/apt.conf.d/ में एक फ़ाइल बनाएं, जैसे /etc/apt/apt.conf.d/90forceyes निम्न सामग्री के साथ:

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

3
विविधता के लिए +1। सब -yउबाऊ हो रहे थे। (प्लस यह एक अधिक पूर्ण उत्तर है।)
डेनिस विलियमसन

1
क्या यह काम करेगा जब यह कहेगा "वाक्यांश में टाइप जारी रखने के लिए 'हां, जैसा मैं कहता हूं वैसा करो!" यदि नहीं तो क्या काम है? मैं इसका सामना तब करता हूं, जब मेरी चुगली हुई डेबियन छवि में सिसविनीट को सिस्टमड के साथ बदलने की कोशिश कर रहा हूं।
लेनार्ट रोलैंड

13
कृपया कभी उपयोग न करें --force-yes: सुझाव पर संबंधित थ्रेड के इस उत्तर केdebian-devel रूप में , --force-yesसिस्टम को अनुपयोगी बना सकता है। (मैं नीच नहीं हूं क्योंकि जवाब वास्तव में ओपी द्वारा बताई गई समस्या को संबोधित करता है, लेकिन मैं वैसे भी जवाब में एक बड़ा लाल चेतावनी
जोड़ूंगा

7
APT :: Get :: मान लें कि "सही" है; एक डॉकटर कंटेनर में एक स्थापना में बाधा से बचने में मेरी मदद की।
मेहंदी सदिघी

3
बल-हाँ को पदावनत कर दिया गया है। tracker.mender.io/browse/CFE-2360
रावत

53

ध्यान दें कि यदि आप भी इंटरएक्टिव प्रॉम्प्ट के प्रकट होने पर डिफ़ॉल्ट उत्तरों द्वारा स्वचालित रूप से जाना चाहते हैं, तो आप उपयोग कर सकते हैं DEBIAN_FRONTEND=noninteractive

एकल इंस्टॉल:

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

उदाहरण के लिए:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y install postfix

सभी अपडेट:

sudo DEBIAN_FRONTEND=noninteractive apt-get -y update 

आप के साथ और बेहतर विकल्प सेट कर सकते हैं ।-o Dpkg::Options::="--force-confdef"-o Dpkg::Options::="--force-confold"

उदाहरण:

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

या

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

इंटरैक्टिव संकेत का उदाहरण:

यहां छवि विवरण दर्ज करें

दिलचस्प पढ़ें: डेबियन पैकेज की अप्राप्य स्थापना करना


1
बहुत बढ़िया जवाब। यहां तक ​​कि -y, मुझे अभी भी संकेत मिले हैं कि क्या मैं सेवाओं को फिर से शुरू करना चाहता हूं। मुझे सभी संकेतों को पूरी तरह से समाप्त करने के लिए इसकी आवश्यकता थी।
बुद्धिमानबुद्धि

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

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

यह कम से कम होना चाहिए /etc/apt/apt.confऔर टिप्पणी की जानी चाहिए । मुझे चिंता है कि उबंटू हमेशा से अनुमति मांगने का माइक्रोसॉफ्ट का सौदा कर रहा है।

"क्या आप निश्चित हैं?", निश्चित रूप से मुझे यकीन है, मैं एक प्रशिक्षित बंदर नहीं हूँ जो कीबोर्ड पर टाइप कर रहा हो, खुश होकर क्लिक करें।

अगले दरवाजे से पूछेंगे, "क्या आप सुनिश्चित हैं कि आप बाहर जाना चाहते हैं?"
ओवन पूछेगा, "क्या आप सुनिश्चित हैं कि आप खाना बनाना चाहते हैं?"
ऑटोमोबाइल पूछेगा, "क्या आप सुनिश्चित हैं कि आप ब्रेक लगाना चाहते हैं?"
आग बुझाने वाला पूछेगा, "क्या आप सुनिश्चित हैं कि आप आग बुझाना चाहते हैं?"
मुझे खेद है डेव, मैं तुम्हें ऐसा नहीं कर सकते।
HAL9000 एक संकुचन का उपयोग कर सकता है लेकिन डेटा नहीं कर सकता है, या नहीं कर सकता है।


3
HAL9000 और dpkg से अनुमति के साथ अंतर यह है कि HAL ने कहा "नहीं, अवधि", जबकि "हाँ, जैसा मैं कहता हूं" बात केवल तभी प्रकट होती है जब आप अपने सिस्टम को पूरी तरह से और पूरी तरह से तोड़ने के लिए। यदि आप चाहते हैं कि यह सुनिश्चित हो, तो आगे बढ़ें। लेकिन उस मामले में चेतावनी देना वाजिब लगता है।
राउटर वेरहेल्ट


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

2
+1, लेकिन updateअनुमति की आवश्यकता क्यों है?
amyassin

@amyassin apt-get updateकमांड को रूट अनुमतियों की आवश्यकता होती है क्योंकि यह स्थानीय पैकेज सूचियों (अनुक्रमित) को अपडेट करता है, जो रूट के स्वामित्व वाली सिस्टम फाइलें हैं।
jjmontes

3

आम तौर पर मैनुअल से विकल्पों को अच्छी तरह से काम करना चाहिए

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

यदि यह सफल नहीं होता है तो आप yesकमांड का उपयोग करने का प्रयास कर सकते हैं ।

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

यह मेरी योनि खोल प्रावधान स्क्रिप्ट के साथ प्रयोग किया

पुनश्च: यदि आप गैर-संवादात्मक चाहते हैं, लेकिन आम तौर पर नहीं तो आप यह कोशिश कर सकते हैं:

yes no | apt-get install package


1

यदि आप हमेशा चाहते हैं-मैं तर्क मैं लाइन जोड़ने की सलाह देंगे

alias apt-get='apt-get -y' #Automatic -y argument on apt-get commands

अपने .bashrc में। यह, जैसा कि टिप्पणी बताती है, स्वचालित रूप से आपके सभी उपयुक्त-कमांड के लिए -y तर्क जोड़ देगा और इसलिए सभी डाउनलोडों को अनुमोदित करता है।


ध्यान दें: यह तब तक सही रहेगा जब तक आप अपने .bashrc को वापस नहीं लेते और शेल को पुनरारंभ करते हैं।


1

मैं एक स्क्रिप्ट में एक गैर-डिफ़ॉल्ट का चयन करने के लिए एक रास्ता तलाश रहा था, विशेष रूप से जब वायरशार्क स्थापित कर रहा है, और एक शेल के साथ बातचीत करने के लिए tmux का उपयोग करके समाप्त हो गया, इस प्रकार है:

# Start a detached root session
sudo tmux new-session -d
# Send the command
sudo tmux send-keys "DEBIAN_FRONTEND=readline apt-get -qq install wireshark-common; exit" enter
# Wait for the tmux session to get to the interactive stage
sleep 5
# Answer the question
sudo tmux send-keys "yes" enter
# Now attach to the session so we wait for command completion
sudo tmux attach
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.