Gentoo में, amd64, ~ amd64 और ~ amd64-linux में क्या अंतर है?


9

जब मैं दौड़ता हूं equery depgraph www-client/chromium-10.0.648.151, तो सभी निर्भरताएं उपलब्ध नहीं होती हैं। कुछ शो M[package.mask], जबकि कुछ अन्य शो [missing keyword]। मेरे ACCEPT_KEYWORDSहै ~amd64-linuxके अनुसार, emerge --info। मैंने अलग-अलग प्रयोग किया ACCEPT_KEYWORDS(एक पर्यावरण चर के रूप में पारित किया गया eqeury), और सभी में अलग-अलग लापता निर्भरताएं हैं। सभी संभावित संयोजनों के बीच, केवल ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'सभी निर्भरताओं के साथ एक बार में संतुष्ट किया जा सकता है।

यहाँ मेरे सवाल हैं:

  1. है ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'कोई मान्य विन्यास?
  2. मैंने प्रलेखन से सीखा है जिसका amd64अर्थ है स्थिर, और ~amd64अस्थिर का मतलब है। किस बारे में ~amd64-linux?
  3. यदि मैं चयन करता हूं ~amd64, equeryतो केवल उपलब्ध पैकेज का उपयोग नहीं करेगा amd64, जिसके परिणामस्वरूप लापता निर्भरताएं हैं। क्या यह अपेक्षित है? यदि हां, तो अस्थिर परीक्षकों को ACCEPT_KEYWORDS='amd64 ~amd64'इसके बजाय कम से कम उपयोग करना चाहिए ACCEPT_KEYWORDS='~amd64'?
  4. क्या कीवर्ड का क्रम मायने रखता है?

अतिरिक्त जानकारी: मैंने इस गाइड के बाद Gentoo Prefix स्थापित किया । डिफ़ॉल्ट रूप से, $EPREFIX/etc/make.profileएक सममिति होती है $EPREFIX/usr/portage/profiles/prefix/linux/amd64और इसमें एक समाहित होता make.defaultsहै ACCEPT_KEYWORDS="-amd64 ~amd64-linux"। न तो $EPREFIX/etc/make.confहै और न ही $EPREFIX/etc/make.globalsहै ACCEPT_KEYWORDSकॉन्फ़िगर किया गया। के अनुसार eselect profile list, कोई प्रोफ़ाइल चयनित नहीं है।

जवाबों:


8

1. क्या ACCEPT_KEYWORDS = 'amd64 ~ amd64 ~ amd64-linux' एक वैध विन्यास है?

आदमी से।

ACCEPT_KEYWORDS = [कीवर्ड की अंतरिक्ष सीमांकित सूची]

तो ACCEPT_KEYWORDS='amd64 ~amd64 ~amd64-linux'एक वैध संयोजन है।

2. ~ amd64-linux के बारे में क्या?

amd64-linuxएक उपसर्ग है। मुझे उपसर्ग के बारे में ज्यादा जानकारी नहीं है, लेकिन मैं "उपसर्ग कीवर्ड" नामक अनुभाग में amd64-linuxमान्य खोजशब्दों की सूची में देख सकता हूँ /usr/portage/profiles/arch.list~amd64-linuxसिर्फ परीक्षण समकक्ष है amd64-linux

3. ACCEPT_KEYWORDS='amd64 ~amd64'बनाम~amd64

यदि आपके पास ~amd64है ACCEPT_KEYWORDS, तो पोर्टेज सभी नवीनतम ईबिल्ड्स का उपयोग करेगा, जिसमें अक्सर बहुत सारे अस्थिर सामान होते हैं। मुझे लगता है कि इसीलिए लापता आश्रितों की उम्मीद की जानी चाहिए। उदाहरण के लिए, ऐसा हो सकता है यदि आप इंस्टॉल करना चाहते हैं software-a, और परीक्षण शाखा में नवीनतम एक है software-a-2.3.4, जिसकी आवश्यकता होती है library-b-5.6.7, जिसका अभी तक कोई पुनर्निर्माण नहीं है। के बारे में amd64 ~amd64और बस ~amd64, वे एक ही, वास्तव में, क्योंकि आपके वास्तुकला है अगर amd64 आप कर रहे हैं amd64में ACCEPT_KEYWORDS, कोई क्या मायने रखते हैं।

4. क्या कीवर्ड का क्रम मायने रखता है?

नहीं, क्योंकि यह सिर्फ एक बात है कि आपके ACCEPT_KEYWORDSचर में एक निश्चित कीवर्ड है या नहीं। यह एक सेट (अव्यवस्थित) की तरह है।

थोड़ी देर के लिए Gentoo का उपयोग करने के बाद, मेरे पास अभी भी ~amd64मेरे अंदर डालने की हिम्मत नहीं है ACCEPT_KEYWORDS। यह बहुत अस्थिर है यह वास्तव में अनुशंसित नहीं है, इसे पहली बार स्थापित करने से बहुत अधिक टूटने की गारंटी मिलती है।


बहुत स्पष्ट स्पष्टीकरण के लिए धन्यवाद। मेरे मामले में, मुझे अभी भी नवीनतम प्राप्त करने के लिए ~ amd64 में रखना थाxtables-addons । लेकिन जब से मेरा जेंटू बॉक्स एक शुद्ध फ़ायरवॉल के रूप में कार्य करता है, मैं वास्तव में अन्य पैकेजों की स्थिरता से चिंतित नहीं हूं :)
पेपोलुआन

2
@pepoluan यदि आपके ~amd64पास बस है xtables-addonsतो आपको इसे अस्थिर परीक्षण शाखा का उपयोग करने के बजाय /etc/portage/package.keywordsया /etc/portage/package.accept_keywordsइसके अंदर रखना चाहिए । अधिक जानकारी के लिए man portageएक अलग प्रश्न में यहां देखें या पूछें।
फुन्हेहे

हे भगवान, आप सही कह रहे हैं। <... मैं माफी माँगता हूँ, ऐसा लगता है कि मेरी n00bness के माध्यम से चमकता है: पी ... वैसे भी, मैं मूल पोस्टर नहीं हूं, सिर्फ एक स्वच्छंद टिप्पणीकार
हूं

@pepoluan मुझे खुशी है कि मैं मदद कर रहा था। हर कोई कुछ बिंदु पर एक noob है :)
phunehehe

आपके विस्तृत उत्तर के लिए धन्यवाद। मुझे समझ नहीं आता क्यों, लेकिन डिफ़ॉल्ट कीवर्ड है ~amd64-linux(के साथ amd64स्पष्ट रूप से हटा दिए गए)। अब तक यह अच्छी तरह से चल रहा है =)
netvope

3

ACCEPT_KEYWORDS पर्यावरण चर मौजूदा वास्तुकला के लिए "सभी" अभी तक चिह्नित स्थिर पैकेज / संस्करणों की अनुमति देने के लिए नहीं है।

एक आर्क के सामने ~ का अर्थ है अस्थिर ("पूरी तरह से परीक्षण नहीं किया गया")।

अक्सर बेहतर तरीका /etc/portage/package.keywords का उपयोग करना और ~ amd64 कीवर्ड के साथ पैकेज को सूचीबद्ध करना है यदि आपको वास्तव में नवीनतम बिल्ड की आवश्यकता है।

वैसे: amd64 फ़ायरवॉल, यह नहीं है कि विकिपीडिया ओवरकिल को कैसे परिभाषित करता है?

  1. हाँ
  2. "~ Amd64-linux" के बारे में कभी नहीं सुना, लेकिन ~ का अर्थ है "अस्थिर"।
  3. नहीं, यह अपेक्षित नहीं है कि "~ amd64" "amd64" को छोड़कर।
  4. नहीं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.