आर्क लिनक्स (AUR सहित) पर बिल्डिंग पैकेज

आर्क लिनक्स पर, आधिकारिक रिपॉजिटरी हैं: कोर, अतिरिक्त और समुदाय। ये पैकेज पहले से ही संकलित हैं, और वे इसके माध्यम से स्थापित हैं pacman। अधिकांश भाग के लिए, सामान्य उपयोगकर्ता यह अनदेखा कर सकते हैं कि ये 3 आधिकारिक रिपॉजिटरी अलग हैं। कोर में सबसे महत्वपूर्ण पैकेज होते हैं, जैसे कि कर्नेल, बूट प्रक्रिया, नेटवर्किंग, पैकेज प्रबंधन, ओपनश और इतने पर। नए ��ंस्करण जारी होने से पहले इसकी और अधिक गहन जांच की सख्त आवश्यकताएं हैं। अतिरिक्त में अन्य लोकप्रिय पैकेज होते हैं जो महत्वपूर्ण नहीं हैं, जैसे कि एक्स सर्वर, विंडो मैनेजर या वेब ब्राउज़र। समुदाय में कम लोकप्रिय पैकेज होते हैं। केवल विश्वसनीय उपयोगकर्ता (लगभग 60 सक्रिय उपयोगकर्ता जिन्हें अन्य विश्वसनीय उपयोगकर्ताओं द्वारा वोट दिया गया था) की आधिकारिक रिपॉजिटरी में परिवर्तन करने के लिए उपयोग किया जाता है।

2019 में, आधिकारिक रिपॉजिटरी में लगभग 11,000 पैकेज हैं, https://www.archlinux.org/packages पर । लेकिन, लिनक्स पर कई अन्य कार्यक्रम उपलब्ध हैं। तो, AUR (आर्क लिनक्स यूजर रिपॉजिटरी) मौजूद है, इसलिए कोई भी आर्क उपयोगकर्ता एक नया प्रोग्राम जोड़ सकता है और उसका अनुचर बन सकता है, या एक मौजूदा अनुचर के बिना "अनाथ" पैकेज को अपना सकता है। AUR में लगभग 55,000 पैकेज https://aur.archlinux.org/ पर हैं

AUR के साथ 3 महत्वपूर्ण अंतर हैं:

  1. फिर से, इन पैकेजों को किसी भी उपयोगकर्ता द्वारा उत्पादित किया जा सकता है, यहां तक ​​कि एक नया भी।
  2. AUR केवल PKGBUILDस्वचालित रूप से पैकेज बनाने के लिए एक शेल स्क्रिप्ट रखता है , संकलित बायनेरिज़ नहीं। (कभी-कभी इसमें छोटे टेक्स्ट पैच भी होते हैं, या शेल स्क्रिप्ट को इंस्टॉल / अपग्रेड / अनइंस्टॉल करते हैं)। इसने एक जबरदस्त काम किया है जिससे किसी भी उपयोगकर्ता को योगदान करने की अनुमति मिलती है, जबकि किसी के दुर्भावनापूर्ण कोड को वितरित करने के अवसर को कम करके। आर्क समुदाय अभी भी AUR पैकेज के साथ समस्याओं के बारे में काफी मददगार है, लेकिन यह ध्यान दिया जाता है कि उनका उपयोग आपके जोखिम पर है। क्योंकि यह सब प्रदान करता है एक है PKGBUILD, यह अंततः आपकी जिम्मेदारी है कि PKGBUILDआप का उपयोग करने जा रहे हैं। (दी गई जानकारी, बहुत से उपयोगकर्ता ऐसा नहीं करते हैं और सिर्फ दूसरों पर नजर रखने के लिए भरोसा करते हैं।)
  3. क्योंकि pacmanAUR से सीधे इंटरैक्ट नहीं करता है, AUR पैकेज को अपडेट करना आपकी जिम्मेदारी है। जब आप समय-समय पर अपने पूरे सिस्टम को अपग्रेड करते हैं pacman, तो यह स्वचालित रूप से AUR PKGBUILDफ़ाइलों को अपडेट डाउनलोड नहीं करेगा , उन्हें संकलित करेगा, और उन्हें आपके लिए इंस्टॉल करेगा।

यद्यपि यह लेख AUR से पैकेज बनाने पर केंद्रित है, वही तकनीक का उपयोग आधिकारिक रिपॉजिटरी से पैकेज बनाने के लिए किया जा सकता है।

PKGBUILD

एक .specफ़ाइल की तुलना में जो कई अन्य वितरण का उपयोग करते हैं, PKGBUILDएक छोटी और सरल शेल स्क्रिप्ट है। हालांकि कुछ पैकेज अधिक जटिल हैं, वे बस निम्नलिखित के समान हो सकते हैं:

pkgname=NAME
pkgver=VERSION
pkgrel=1
pkgdesc='DESCRIPTION'
url=http://example.com/
arch=('x86_64')
license=('GPL2')
source=(http://example.com/downloads/${pkgname}-${pkgver}.tar.gz)
sha256sums=('f0a90db8694fb34685ecd645d97d728b880a6c15c95e7d0700596028bd8bc0f9')

build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   ./configure
   make
}

package() {
   cd "${srcdir}/${pkgname}-${pkgver}"
   make install
}

इस डॉक्टर को संदर्भित करता है:

  • PKGNAME: एक पैकेज का नाम
  • PKGVER: पैकेज का संस्करण (लगभग हमेशा अपस्ट्रीम के संस्करण संख्या से मेल खाता है)
  • PKGREL: PKGBUILDएक विशिष्ट PKGVER(सामान्य रूप से 1 के लिए, आर्क "संस्करण" , लेकिन अगर PKGBUILDअपस्ट्रीम प्रंबधन के बीच बदलाव किए जाने की जरूरत है तो वेतन वृद्धि )
  • ARCH: आर्किटेक्चर पैकेज को बनाया जा सकता है (कुछ हद तक विरासत के रूप में, आर्क लिनक्स आधिकारिक रिपॉजिटरी केवल "x86_64" (64-बिट सीपीयू) का समर्थन करते हैं, लेकिन AUR पैकेज अभी भी "i686" (32-बिट सीपीयू या "किसी भी" का समर्थन कर सकते हैं) स्थापत्य कला अप्रासंगिक है)
  • PKGBUILD/ETC: AUR रिपॉजिटरी में वास्तव में कोई भी फाइल; PKGBUILD, और किसी भी अन्य छोटे पाठ पैच, या स्थापित / उन्नयन / स्थापना रद्द शेल स्क्रिप्ट। sourceसरणी में अपस्ट्रीम फ़ाइलों को शामिल नहीं करता है ।

यद्यपि AUR बेहद भरोसेमंद साबित हुआ है, यह PKGBUILD/ETCसुनिश्चित करने के लिए कि यह एक ऐसा स्रोत है जिसे आप विश्वास करने के लिए तैयार हैं, जहां से स्रोत मिल रहा है , यह देखने के लिए एक अच्छा विचार है ; (उदाहरण के लिए, एक आधिकारिक अपस्ट्रीम स्थान, जो गिथब से हो सकता है - लेकिन सिर्फ कुछ यादृच्छिक व्यक्ति के गिथब रिपॉजिटरी नहीं है जो अपस्ट्रीम पैकेज से संबंधित नहीं है); और PKGBUILD/ETCइसमें कोई संदिग्ध कोड नहीं है।

प्राप्त PKGBUILD/ETC

AUR से

यदि आधिकारिक रिपॉजिटरी में ऐसा पैकेज नहीं है जिसे आप इंस्टॉल करना चाहते हैं, तो इसके लिए https://aur.archlinux.org/ पर खोजें । उम्मीद है, आप पाएंगे कि आप जो खोज रहे हैं, वह मौजूद है और अद्यतित है।

PKGBUILD/ETCAUR से प्राप्त करने का सबसे अच्छा तरीका इसके माध्यम से क्लोन करना है git

स्थापित करें git, अगर यह पहले से ही नहीं है:

# pacman -S git

उस पैकेज के लिए AUR वेबसाइट पर दिखाए गए "Git Clone URL" का उपयोग करें:

$ git clone https://aur.archlinux.org/fslint.git

निर्देशिका दर्ज करें और इसकी सामग्री देखें। (सब कुछ यहाँ सूचीबद्ध, के अलावा . .. .gitहै PKGBUILD/ETC):

$ cd <PKGNAME>
$ ls -a
.  ..  .git  PKGBUILD  .SRCINFO

यदि आप जांच करते हैं PKGBUILD, तो आप उम्मीद करेंगे कि यह आधिकारिक अपस्ट्रीम स्रोत कोड का उपयोग करता है, और पैकेज बनाने के लिए विशिष्ट कदम उठाता है, इसलिए यह विश्वसनीय लगता है। .SRCINFOसिर्फ जानकारी पैकेज के बारे में वेबसाइट पर दिखाया गया होता है, इसलिए चिंताजनक नहीं है। अगर यहां कोई अन्य फाइल है, तो वे (सीधे) अपस्ट्रीम द्वारा प्रदान नहीं की जाती हैं, इसलिए फ़ाइलों और उनका उपयोग कैसे किया PKGBUILDजाना चाहिए, यह सुनिश्चित करने के लिए कि उनमें कुछ भी संदिग्ध नहीं है।

आधिकारिक रिपोजिटरी से

यद्यपि बहुत कम बार आवश्यक होता है, आप आधिकारिक रिपॉजिटरी में पहले से ही एक पैकेज बना सकते हैं, जिसमें एक नया पैच शामिल कर सकते हैं, एक नया संस्करण बना सकते हैं आदि।

PKGBUILD/ETCमुख्य और अतिरिक्त रिपॉजिटरी से प्राप्त करें :

$ git clone --single-branch --branch "packages/<PKGNAME>" git://git.archlinux.org/svntogit/packages.git "<PKGNAME>"

सामुदायिक भंडार से:

$ git clone --single-branch --branch "packages/<PKGNAME>" git://git.archlinux.org/svntogit/community.git "<PKGNAME>"

उन्नयन PKGBUILD/ETC

यदि कोई अपग्रेड PKGBUILD/ETCजारी किया गया है, तो आप इस निर्देशिका में वापस आ सकते हैं, जिसका उपयोग करके git clone, और उन्हें अपडेट कर सकते हैं:

$ git pull

फिर, नीचे अपनी पसंद की विधि का उपयोग करके पैकेज को फिर से खोलें और अपग्रेड करें।

संकलन

पैकेज संकलित करने के कई तरीके हैं। अंततः, सब कुछ उपयोग करता है makepkg। 2 आधिकारिक तौर पर समर्थित तरीके हैं:

वहाँ कई AUR सहायक कार्यक्रम, (तरह हैं makepkgजैसे आवरण), कि आधिकारिक तौर पर आर्क द्वारा समर्थित नहीं हैं, aurutils, yay, और हाल ही में बंद कर दिया aurmanऔर yaourt। यहां तक ​​कि अगर आप इन अन्य सहायक कार्यक्रमों में से एक का उपयोग करते हैं, तो यह दृढ़ता से अनुशंसित है कि कुछ गलत होने पर अधिक प्रभावी होने के लिए आधिकारिक रूप से समर्थित तरीकों से परिचित हो।

इस डॉक का उपयोग YOUR BUILDERआप जो भी विधि चुनने के लिए करेंगे।

स्थानीय रिपोजिटरी

आप अपने द्वारा बनाए गए सभी पैकेजों के लिए एक केंद्रीय स्थान होने के लिए एक स्थानीय भंडार स्थापित कर सकते हैं।

स्थानीय रिपॉजिटरी को आप जहां चाहें वहां रखें:

# mkdir /archLocalRepo

YOUR BUILDERबिना किसी स्वचालित इंस्टॉलेशन विकल्प के रन करें, और अपने स्थानीय रिपॉजिटरी में पैकेज को कॉपी करें।

# cp <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz /archLocalRepo

रिपॉजिटरी इंडेक्स में नया पैकेज जोड़ें:

# repo-add /archLocalRepo/archLocalRepo.db.tar.gz /archLocalRepo/<PACKAGE-FILE-NAME>

रिपॉजिटरी के इंडेक्स से एक पैकेज को हटाने के लिए और पैकेज फ़ाइल खुद:

# repo-remove /archLocalRepo/archLocalRepo.db.tar.gz <PKGNAME>
# rm /archLocalRepo/<PACKAGE-FILE-NAME>

यदि आपको एक मौजूदा पैकेज फ़ाइल को बदलने की आवश्यकता है, तो आपको प्रतिस्थापित किए जा रहे एक को अलग करने की आवश्यकता है, फिर नया जोड़ें। आप बस पुरानी फ़ाइल पर नई फ़ाइल की प्रतिलिपि नहीं बना सकते।

pacmanअपने स्थानीय भंडार का उपयोग करने के लिए कॉन्फ़िगर करें, संपादन करके /etc/pacman.conf, और अंत में निम्नलिखित जोड़ें:

[archLocalRepo]
SigLevel = Optional TrustAll
Server = file:///archLocalRepo

आपको pacmanडेटाबेस (अपने स्थानीय सहित) के भंडार के अपने ज्ञान को ताज़ा करने की आवश्यकता है ; आपके द्वारा इसमें जोड़े गए पैकेज देखने के लिए:

# pacman -Sy

आप तब पैकेज को स्थापित कर सकते हैं, इससे अलग नहीं कि अगर यह आधिकारिक भंडार में था:

# pacman -S <PKGNAME>

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

कम्पाइलर फास्टर

डिफ़ॉल्ट रूप से, YOUR BUILDERएक एकल थ्रेड का उपयोग करके संकलित करता है। मल्टी सीपीयू सिस्टम पर, आप जहां संभव हो, कई थ्रेड का उपयोग करने की अनुमति दे सकते हैं। निर्माण प्रणाली समानांतर में स्रोत कोड के भागों को संकलित करेगी जब वह कर सकता है। कभी-कभी कोड के कुछ हिस्सों को अन्य भागों की आवश्यकता होती है जो पहले से ही संकलित किए जाते हैं, इसलिए आपको हमेशा अनुमति नहीं दी जाएगी कि जितने धागे उपयोग किए जा रहे हैं। संपादित करें /etc/makepkg.conf

वर्चुअल कोर के रूप में कई थ्रेड्स का उपयोग करने की अनुमति देने के लिए, निम्नलिखित जोड़ें:

MAKEFLAGS="-j$(nproc)"

नोट: यह nprocहर बार कमांड चलाएगा , इसलिए यह हमेशा आपके Vultr सर्वर को अपग्रेड करने की स्थिति में कोर की वर्तमान संख्या का उपयोग करेगा।

कई वर्चुअल कोर का उपयोग करने की अनुमति देने के लिए, लेकिन उनमें से सभी नहीं, जैसे कि समग्र सिस्टम प्रदर्शन पर प्रभाव को कम करने के लिए, एक विशिष्ट संख्या जोड़ें। उदाहरण के लिए, यदि आपके पास 24 कोर हैं, तो आप 21 का उपयोग करने की अनुमति दे सकते हैं:

MAKEFLAGS="-j21"

वर्चुअल कोर की संख्या से अधिक थ्रेड्स निर्दिष्ट करने से आपके प्रदर्शन में कमी आएगी।

यह काफी दुर्लभ है, लेकिन कुछ पैकेजों के निर्माण सिस्टम में समानांतर संकलन के साथ समस्याएं हैं, कोड के कुछ हिस्सों के बीच निर्भरता को ठीक से परिभाषित नहीं करने से। आमतौर पर, उन पैकेजों की PKGBUILDफाइलें इनवॉइस द्वारा आपके लिए संभालती हैं make -j1, जो आपके द्वारा निर्धारित डिफ़ॉल्ट को ओवरराइड करता है। यदि इसे इसकी आवश्यकता है और यह गायब है, तो इसे आर्क पैकेज मेंटेनर को रिपोर्ट करें।

PGP हस्ताक्षर त्रुटि

एक PKGBUILDस्रोत सरणी में .ascया .sigफ़ाइलें हो सकती हैं । वे अक्सर बैश ब्रेस विस्तार का उपयोग करते हुए शामिल होते हैं, इसलिए याद करना आसान हो सकता है:

source=("http://example.com/downloads/${pkgname}-${pkgver}.tar.gz{,.sig}")

यदि हस्ताक्षर फ़ाइलों के इन स्वरूपों में से कोई भी स्रोत सरणी में शामिल हैं, तो YOUR BUILDERस्वचालित रूप से अपस्ट्रीम स्रोत संग्रह के हस्ताक्षर को सत्यापित करने का प्रयास करता है। हस्ताक्षर की PGP कुंजी उपयोगकर्ता की कीरिंग में होनी चाहिए; अन्यथा, यह त्रुटि के साथ समाप्त हो जाएगा:

==> Verifying source file signatures with gpg...
    <SOURCE-FILE> ... FAILED (unknown public key 1234567890ABCDEF)
==> ERROR: One or more PGP signatures could not be verified!

यह समझना महत्वपूर्ण है कि GPG कुंजी को कई तरीकों से दिखाया जा सकता है। इसका फ़िंगरप्रिंट 40 हेक्साडेसिमल वर्ण है, और वह है जो आपको हमेशा उपयोग करना चाहिए। एक लंबी कुंजी आईडी अंतिम 16 अंक है, और एक छोटी कुंजी आईडी अंतिम 8 अंक है। हालांकि यह सुविधाजनक है, यह डुप्लिकेट को अनुमति देता है जो हस्ताक्षर को सत्यापित करने के पीछे पूरे तर्क को रोकता है। इससे भी बदतर, हमलावरों को नकली कुंजी उत्पन्न करने के लिए जाना जाता है जो उच्च प्रोफ़ाइल डेवलपर्स के लिए कम लंबाई की कुंजियों से मेल खाते हैं।

प्राप्त करें और PGP कुंजी फिंगरप्रिंट सत्यापित करें

यदि आपने पहले से ही पैकेज बनाने की कोशिश नहीं की है, तो उन स्रोतों को डाउनलोड करें जिनमें हस्ताक्षर फ़ाइल शामिल होगी: (यदि आपने भवन बनाने की कोशिश की है, तो यह पहले से ही होगा)

$ makepkg --nobuild --noextract

पूर्ण फिंगरप्रिंट प्राप्त करने के लिए:

$ gpg <ASC-OR-SIG-FILENAME>
...
gpg:                using RSA key 155D3FC500C834486D1EEA677FD9FCCB000BEEEE
...

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

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

अपनी कीरिंग में PGP कुंजी जोड़ें

अपनी कीरिंग में फिंगरप्रिंट जोड़ने के लिए:

$ gpg --recv-keys <FINGERPRINT>

अब आप चला सकते हैं YOUR BUILDER, और यह फिंगरप्रिंट पर भरोसा करेगा।

और विकास पैकेज

समाप्त होने के नाम के साथ AUR संकुल -git, -svn, -bzrया -hgकर रहे हैं विकास संस्करणों है, जो नदी के ऊपर के नवीनतम संस्करण नियंत्रण प्रणाली का उपयोग करने के बजाय प्रतिबद्ध की नदी के ऊपर नवीनतम रिलीज है। उदाहरण के लिए, ए-gitपैकेज मास्टर शाखा (या उनकी समकक्ष शाखा) में अपस्ट्रीम की नवीनतम प्रतिबद्ध का उपयोग करेगा। यह अपस्ट्रीम बग फिक्स और नई सुविधाओं को चलाने के लिए बहुत अच्छा है जो अभी तक जारी नहीं किए गए हैं, और बग पर अपस्ट्रीम के साथ काम करते समय आप रिपोर्ट कर रहे हैं यदि आपको उनके लिए यह सत्यापित करने की आवश्यकता है कि यह एक बग नहीं है जो एक विज्ञप्ति में अभी तक नहीं किए गए कमिट द्वारा तय किया गया है। इन पैकेजों को संभावित रूप से अस्थिर माना जाना चाहिए। उस ने कहा, दुर्भाग्य से, कभी-कभी कोई विकल्प नहीं होता है क्योंकि कुछ अपस्ट्रीम मेंटेनर कभी भी टैग को रिलीज़ नहीं करते हैं या टैगिंग रिलीज़ के बीच बहुत लंबे समय तक चलते हैं, और उम्मीद करते हैं कि हर कोई अपनी सबसे हालिया प्रतिबद्ध का उपयोग करेगा। पैकेज के आधार पर, आप उस कमिट को चलाने के लिए पहले व्यक्ति हो सकते हैं। अपस्ट्रीम डेवलपर्स के आधार पर, उनकी नवीनतम प्रतिबद्धता भी संकलित नहीं हो सकती है,

एक सामान्य गलती को समझना महत्वपूर्ण है। केवल पुराने संस्करण संख्या को दर्शाने के कारण AUR विकासात्मक पैकेज को ध्वजांकित न करें! विकासात्मक पैकेज PKGBUILDफ़ाइलों में एक अतिरिक्त फ़ंक्शन होता है pkgver(), जिसका उपयोग PKGVERअपस्ट्रीम के सोर्स कोड से अपडेट को पार्स करने के लिए स्वचालित रूप से किया जाता है । -gitपैकेज के लिए एक सामान्य प्रारूप है <TYPICAL-VERSION-NUMBER>.r<COMMITS-SINCE-LAST-RELEASE>.<GIT-COMMIT>-<PKGREL>। एक पैकेज को AUR में सूचीबद्ध किया जा सकता है 5.0.0.r102.8d7b42ac21-1, क्योंकि PKGBUILDइसमें वही शामिल है। लेकिन, जब आप एक पैकेज बनाते हैं, तो नए डाउनलोड किए गए स्रोत कोड को प्रतिबिंबित करने के लिए YOUR BUILDERस्वचालित रूप से अपडेट होगा PKGVER। वास्तव में, यदि कई नए संस्करण जारी किए गए हैं, लेकिन निर्माण प्रक्रिया में कुछ भी नहीं बदला है, तो PKGBUILDएक पुराने संस्करण को सूचीबद्ध करने से कुछ नया निर्माण हो सकता है, जैसे9.1.2.r53.2c9a41b723-1। इन पैकेजों के लिए, वेबसाइट पर सूचीबद्ध संस्करण उस समय का नवीनतम संस्करण है जिस समय AUR अनुरक्षक को अंतिम बार अपडेट करना था PKGBUILD

AUR अनुरक्षकों को केवल PKGVERनए संस्करणों को प्रतिबिंबित करने के लिए अद्यतन करने के लिए नहीं माना जाता है । वे केवल ऐसा करना चाहते हैं जब नए अपस्ट्रीम को वास्तव में PKGBUILDबदलने के लिए कुछ और की आवश्यकता होती है ।

केवल एक विकासपरक AUR पैकेज को ही ध्वजांकित करें यदि आप जानते हैं कि वास्तव में कुछ गलत है। मतलब, आपने वास्तव में इसका उपयोग करने की कोशिश की है और यह ठीक से स्वरूपित नए को संकलित या पार्स करने में विफल रहता है PKGVER। कभी-कभी ऐसी चीजें होती हैं जो AUR अनुचर को अद्यतन करने के लिए मजबूर करती हैं PKGBUILD, जैसे अपस्ट्रीम निर्भरताएं बदल जाती हैं, configureविकल्प बदल जाते हैं, नए जीसीसी संस्करण स्रोत कोड में त्रुटियां उठाते हैं जो पिछले वाले नहीं करते थे, अपस्ट्रीम रिपॉजिटरी स्थान बदल जाते हैं या अपस्ट्रीम डेवलपर्स बदल जाएंगे जहां उनका विशिष्ट संस्करण होगा स्रोत कोड को तोड़ने के भीतर हैPKGVERपार्सिंग फ़ंक्शन। यह समझें कि अगर यह संकलन या काम करने में विफल रहता है, तो इसका मतलब यह भी हो सकता है कि AUR अनुरक्षक को अपनी निर्माण प्रक्रिया में बदलाव करने की आवश्यकता है, या यह उनके स्रोत कोड के साथ एक अपस्ट्रीम मुद्दा हो सकता है, जिसके लिए AUR अनुरक्षक की कोई जिम्मेदारी नहीं है।

आउटडेटेड पैकेज

तारीख से बाहर होने के रूप में एक पैकेज की रिपोर्ट करने से पहले उपरोक्त "AUR विकासात्मक पैकेज" अनुभाग को पढ़ना सुनिश्चित करें!

अगर अपस्ट्रीम ने गैर-विकासात्मक पैकेज के लिए एक नया संस्करण जारी किया है PKGBUILD, तो आप "फ्लैग पैकेज आउट-ऑफ-डेट" पर क्लिक कर सकते हैं और अनुरक्षक को संदेश टाइप कर सकते हैं। आधिकारिक रिपॉजिटरी पैकेज के लिए https://packages.archlinux.org और AUR पैकेज के लिए https://aur.archlinux.org का उपयोग करें । एक उपयोगी संदेश नया संस्करण नंबर होगा, और शायद रिलीज की घोषणा या स्रोत कोड का लिंक होगा। फ़्लैगिंग सुविधा स्वचालित रूप से आपके संदेश को अनुचर को ईमेल करती है।

AUR पैकेज पर, यदि 2 सप्ताह के बाद कोई प्रतिक्रिया नहीं हुई है, तो आप "Orphan" टाइप के साथ "सबमिट रिक्वेस्ट" पर क्लिक कर सकते हैं, यदि आप किसी ट्रस्टेड यूजर से वर्तमान अनुरक्षक को हटाने के लिए पूछना चाहते हैं, और पैकेज को अनाथ कर सकते हैं, यदि अनुचर अन���थ अनुरोध का जवाब नहीं देता है। आम तौर पर, लोग केवल अनाथ अनुरोध दर्ज करते हैं यदि वे सक्षम हैं और पैकेज लेने के लिए तैयार हैं, और अधिमानतः केवल अगर उनके पास पहले से ही एक काम करने वाला चालू है PKGBUILD

इस बीच, आप अक्सर एक पुराने पैकेज को स्वयं अपडेट कर सकते हैं। अक्सर आपको केवल नए संस्करण संख्या को PKGBUILDअपडेट करके बदलने की आवश्यकता होती है PKGVER, और अखंडता को अपडेट किया जाना चाहिए। एक प्रोग्राम updpkgsumsपैकेज में मौजूद है pacman-contrib, जो स्वचालित रूप से रकम की गणना करता है और उन्हें PKGBUILDआपके लिए अपडेट करता है । यह अपस्ट्रीम के रिलीज़ नोट्स की जाँच करने के लायक है, यह देखने के लिए कि क्या वे उल्लेख करते हैं कि नए संस्करण की स्थापना प्रक्रिया के दौरान कुछ भी बदलने की आवश्यकता है। कभी-कभी अपस्ट्रीम परिवर्तनों के लिए अधिक परिवर्तन या ओवरहॉल की आवश्यकता होती है PKGBUILD/ETC। अक्सर sourceसरणी इसमें एम्बेड PKGVERहोती है, इसलिए अक्सर अपडेट करने की भी आवश्यकता नहीं होती है।



Leave a Comment

कैसे आर्कब लिनक्स पर MariaDB 10.3 या MySQL 8.0 स्थापित करें

कैसे आर्कब लिनक्स पर MariaDB 10.3 या MySQL 8.0 स्थापित करें

किसी और Vultr सर्वर को आर्क लिनक्स (इस लेख को देखें) तक चला रहे हैं। सूडो पहुंच: रूट के रूप में चलाने के लिए आवश्यक कमांड #, और एक द्वारा उपसर्ग किए जाते हैं।

काउंटर-स्ट्राइक सेट करें: आर्क लिनक्स पर ग्लोबल ऑफेंसिव (CSGO) सर्वर

काउंटर-स्ट्राइक सेट करें: आर्क लिनक्स पर ग्लोबल ऑफेंसिव (CSGO) सर्वर

यह ट्यूटोरियल बताता है कि काउंटर-स्ट्राइक को कैसे सेटअप करें: आर्क लिनक्स पर वैश्विक आक्रामक सर्वर। यह ट्यूटोरियल मानता है कि आपने एक मानक उपयोग के साथ लॉग इन किया है

आर्क लिनक्स पर Devtools का उपयोग करना

आर्क लिनक्स पर Devtools का उपयोग करना

पैकेज देवटूल मूल रूप से विश्वसनीय उपयोगकर्ताओं के लिए आधिकारिक रिपॉजिटरी के लिए पैकेज बनाने के लिए बनाया गया था। हालाँकि, इसका उपयोग साधारण उपयोगकर्ता कर सकते हैं

आर्क लिनक्स पर सेटअप मम्बल सर्वर

आर्क लिनक्स पर सेटअप मम्बल सर्वर

यह ट्यूटोरियल बताता है कि आर्क लिनक्स पर एक मम्बल सर्वर (मुरमुर) को कैसे सेटअप किया जाए। इस ट्यूटोरियल में किया गया सब कुछ रूट यूजर के रूप में किया जाता है। स्थापना a

Vultr सर्वर पर आर्क लिनक्स स्थापित करना

Vultr सर्वर पर आर्क लिनक्स स्थापित करना

वल्चर आपको उनके उत्कृष्ट टेम्पलेट के अलावा अपनी स्वयं की कस्टम छवि का उपयोग करने की भयानक कार्यक्षमता प्रदान करता है, जो आपको चलाने में सक्षम बनाता है

एक आर्क लिनक्स वेबसर्वर पर PHP 7.3 कैसे स्थापित करें

एक आर्क लिनक्स वेबसर्वर पर PHP 7.3 कैसे स्थापित करें

किसी वल्चर सर्वर को आर्क लिनक्स (इस लेख को देखें) को चला रहे हैं। एक चल वेबसर्वर, या तो अपाचे या नग्नेक्स सूडो एक्सेस। आज्ञा चाहिए

आर्क लिनक्स पर एक टीम किले 2 सर्वर सेट करें

आर्क लिनक्स पर एक टीम किले 2 सर्वर सेट करें

यह ट्यूटोरियल बताता है कि आर्क लिनक्स पर एक टीम फोर्ट 2 सर्वर को कैसे सेटअप किया जाए। मुझे लगता है कि आप एक गैर-रूट उपयोगकर्ता खाते के साथ लॉग इन हैं जिसमें सुडो एक्सेस है

आर्क लिनक्स पर सेटअप स्पिगोट सर्वर

आर्क लिनक्स पर सेटअप स्पिगोट सर्वर

यह ट्यूटोरियल बताता है कि आर्क लिनक्स पर स्पिगोट का उपयोग करके एक Minecraft सर्वर कैसे सेट किया जाए। यह ट्यूटोरियल मानता है कि आप एक सामान्य उपयोगकर्ता (रूट नहीं) और हवलदार हैं

Btrfs स्नैपशॉट के साथ आर्क लिनक्स स्थापित करें

Btrfs स्नैपशॉट के साथ आर्क लिनक्स स्थापित करें

प्रीफेस आर्क लिनक्स एक सामान्य प्रयोजन वितरण है जो अपनी अत्याधुनिक तकनीक और लचीले विन्यास के लिए जाना जाता है। Btrfs स्नैपशॉट के साथ, हम कर सकते हैं

आर्क लिनक्स पर Nginx 1.14 कैसे स्थापित करें

आर्क लिनक्स पर Nginx 1.14 कैसे स्थापित करें

किसी वल्चर सर्वर को आर्क लिनक्स (यह आलेख देखें।) सूडो एक्सेस तक चला रहा है। रूट के रूप में चलाने के लिए आवश्यक कमांड # द्वारा उपसर्ग किए जाते हैं। गु

एक Vultr सर्वर पर 2019 आर्क लिनक्स स्थापित करना

एक Vultr सर्वर पर 2019 आर्क लिनक्स स्थापित करना

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

आर्क लिनक्स वेबसर्वर पर पर्ल 5.28 कैसे स्थापित करें

आर्क लिनक्स वेबसर्वर पर पर्ल 5.28 कैसे स्थापित करें

किसी वल्चर सर्वर को आर्क लिनक्स (इस लेख को देखें) के लिए चला रहे हैं। एक चल वेबसर्वर, या तो अपाचे या नग्नेक्स सूडो एक्सेस: कमांड की आवश्यकता है

आर्क लिनक्स पर अपाचे 2.4 कैसे स्थापित करें

आर्क लिनक्स पर अपाचे 2.4 कैसे स्थापित करें

किसी भी Vultr सर्वर को आर्क लिनक्स को डेट करने के लिए चल रहा है। अधिक जानकारी के लिए इस गाइड को देखें। सूदो की पहुँच। कमांड को रूट ए आर के रूप में चलाने की आवश्यकता है

आर्क लिनक्स पर मेकपैक का उपयोग करना

आर्क लिनक्स पर मेकपैक का उपयोग करना

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

एक आर्क लिनक्स वेबसर्वर पर पायथन 3.7 कैसे स्थापित करें

एक आर्क लिनक्स वेबसर्वर पर पायथन 3.7 कैसे स्थापित करें

किसी वल्चर सर्वर को आर्क लिनक्स (इस लेख को देखें) के लिए चला रहे हैं। एक चल वेबसर्वर, या तो अपाचे या नग्नेक्स सूडो एक्सेस: कमांड की आवश्यकता है

PostgreSQL 11.1 को आर्क लिनक्स पर कैसे स्थापित करें

PostgreSQL 11.1 को आर्क लिनक्स पर कैसे स्थापित करें

किसी वल्चर सर्वर को आर्क लिनक्स (यह आलेख देखें।) सूडो एक्सेस तक चला रहा है। रूट के रूप में चलाने के लिए आवश्यक कमांड # द्वारा उपसर्ग किए जाते हैं, और एक

आर्क लिनक्स वेबसर्वर पर HTTPS का उपयोग कैसे करें

आर्क लिनक्स वेबसर्वर पर HTTPS का उपयोग कैसे करें

किसी वल्चर सर्वर को आर्क लिनक्स (इस आलेख को देखें) को चलाने के लिए, एक चल वेबसर्वर, अपाचे या नग्नेक्स सूडो एक्सेस कमांड आवश्यक टी

आर्क लिनक्स पर MongoDB 4.0 कैसे स्थापित करें

आर्क लिनक्स पर MongoDB 4.0 कैसे स्थापित करें

किसी और Vultr सर्वर को आर्क लिनक्स (यह लेख देखें) सूडो एक्सेस तक चला रहा है: रूट के रूप में चलाने के लिए आवश्यक कमांड #, और एक के द्वारा उपसर्ग किए जाते हैं।

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ