FreeBSD पोर्ट स्थापित करते समय मैं संकेतों से कैसे बच सकता हूं?


26

जब मैं एक पोर्ट स्थापित करता हूं, तो मुझे कॉन्फ़िगरेशन विकल्पों का चयन करने के लिए अक्सर मेनू स्क्रीन के साथ प्रस्तुत किया जाता है। अगर मैं बहुत अधिक निर्भरता के साथ एक बहुत बड़ा पैकेज स्थापित करने जा रहा हूं, तो यह बहुत असुविधाजनक होगा। क्या ऐसे सभी संकेतों के लिए डिफ़ॉल्ट उत्तरों को स्वीकार करने के लिए एक ध्वज है?

जवाबों:


20

संभवतः BATCH, बंदरगाहों (7) में वर्णित है , वह है जो आप ढूंढ रहे हैं:

# cd /usr/ports/sysutils/screen
# export BATCH=yes
# make rmconfig
# make install clean
(no configuration menu is displayed)

make rmconfigOPTIONSइस पोर्ट के लिए कॉन्फ़िगरेशन हटाता है , और आप इसे हटाने के लिए उपयोग कर सकते हैं OPTIONSजो पहले कॉन्फ़िगर और इंस्टॉल किए जाने पर पहले सहेजे गए थे screen(1)OPTIONSको निर्देशिका में संग्रहीत किया जाता है जिसे PORT_DB_DIR(डिफ़ॉल्ट से /var/db/ports) के माध्यम से निर्दिष्ट किया जाता है ।

यदि आप बैश का उपयोग करते हैं, BATCHतो आपके द्वारा लॉग इन करने पर हर बार स्वचालित रूप से सेट किया जा सकता है:

# echo 'export BATCH=yes' >> ~/.bash_profile

12
मैं पसंद करता हूं make config-recursive && make install clean, क्योंकि यह आपको सभी कॉन्फ़िगर-डायलॉग्स अपफ्रंट देता है जबकि वास्तविक इंस्टॉलेशन संभवतः अप्राप्य काम करेगा।
user569825

इसके अलावा, कॉन्फ़िगरेशन के लिए आवश्यक आपके कार्यभार को छोटा करने के लिए, यह अक्सर एक उचित विचार है जो विशेष रूप से उन विकल्पों को देखता है जो डिफ़ॉल्ट रूप से सक्रिय हैं और बस उन में से किसी को निष्क्रिय करने पर विचार करते हैं।
user569825

7
कृपया make config-recursiveनए विकल्प (यानी कम से कम दो बार) मिलना बंद होने तक कई बार चलाएं । किसी भी समय आप एक विकल्प बदलते हैं, यह एक और निर्भरता में ला सकता है जिसमें अभी और विकल्प हैं।
एलेक्स हिरज़ेल

exportकेवल उसी पर काम करेगा shजिस पर FreeBSD डिफ़ॉल्ट शेल नहीं है
ajeh

21

मुझे लगता है कि यह ध्यान देने योग्य है कि आप हमेशा ऐसा नहीं करना चाहते हैं। मुझे याद है, उदाहरण के लिए, xft समर्थन जोड़ने के लिए emacs को कॉन्फ़िगर करने की आवश्यकता है। यदि आप एक निर्माण के लिए संकेतों को दरकिनार करना चाहते हैं,

make install clean BATCH=yes

साथ ही काम करेगा।


किसी भी तरह से "BATCH = Yes" मेक के सामने रखने से बेहतर है। धन्यवाद।
हरि

वर्थ नोटिंग जिसका make install clean BATCH=एक ही प्रभाव है, जैसा कि मैनुअल के अनुसार है ports(7), इसे केवल परिभाषित किया जाना चाहिए। यह कुछ भी या कुछ भी करने के लिए सेट किया जा सकता है
हेरोल्ड फिशर

15

यह स्वचालित रूप से डिफॉल्ट को स्वीकार नहीं करता है जैसे कि आप पूछ रहे हैं, लेकिन मुझे "कॉन्फ़िगर-पुनरावर्ती" विधि पसंद है जो आपको पोर्ट के लिए किसी भी विकल्प के साथ-साथ सभी आश्रितों के लिए विकल्प के माध्यम से चलती है। यदि आप नहीं चाहते हैं तो आपको कुछ भी बदलने की ज़रूरत नहीं है, लेकिन जब भी भवन निर्माण की प्रक्रिया आती है, तो आप एक बार में सभी चयन स्क्रीन से गुजरते हैं।

एक बार ऐसा करने के बाद, आपका "इनस्टॉल क्लीन" तैयार हो जाना चाहिए।


3
जैसा कि मैंने @ यासिर के पोस्ट पर कहा - इसको कई बार चलाना सुनिश्चित करें। यदि आप एक विकल्प बदलते हैं जो दूसरी निर्भरता में लाता है, यदि उस निर्भरता को कॉन्फ़िगर करने के विकल्प हैं तो आप इसे अगले भाग तक नहीं छू पाएंगे make config-recursive
एलेक्स हिरजेल

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