मैं AUR से पैकेज कैसे स्थापित करूं?


61

आर्क लिनक्स में AUR (आर्क यूजर रिपोजिटरी) है, जो उपयोगकर्ता द्वारा निर्मित पैकेजों का एक संग्रह है। हालांकि मैं आर्क लिनक्स एआरएम पर इन पैकेजों को कैसे स्थापित करूं?


2
ऐसा लगता है कि "और" रेपो के माध्यम से पहले से ही कई और पैकेज उपलब्ध हैं। मुझे यह दुर्घटना से मिला। pacman -S yourpackage वास्तव में काम कर सकता है। यह उदाहरण के लिए cower और gmrender-resurrect-git के साथ काम करता है।
enigmaticPhysicist

जवाबों:


53

आर्क लिनक्स एआरएम से बिल्डिंग पैकेज पेज के अनुसार , आपको करने की आवश्यकता है।

  1. बिल्ड अनिवार्य स्थापित करें। इन्हें आर्क लिनक्स एआरएम पर पैकेज संकलित करने की आवश्यकता है।

    $ sudo pacman -S kernel26-headers file base-devel abs
    
  2. प्राप्त करते हैं PKGBUILDआपको उस टारबॉल को डाउनलोड करना होगा जो आप चाहते हैं। आप AUR में कार्यक्रमों के लिए टारबॉल पा सकते हैं ।

  3. पैकेज बनाते हैं। आगे आपको makepkgएक पैकेज तैयार करने के लिए दौड़ने की आवश्यकता है जिसे पैक्मैन इंस्टॉल कर सकता है।

    $ makepkg -Acs
    

    -Aविकल्प लक्ष्य आर्क वास्तुकला पर ध्यान नहीं देता। -cविकल्प निर्देशिका के बाद को साफ makepkgकिया जाता है, और -sजरूरत निर्भरता स्थापित करता है।

    यह सलाह दी जाती है कि आप रूट के रूप में चलें makepkgक्योंकि यह आपके सिस्टम को स्थायी नुकसान पहुंचा सकता है। यदि आपको वास्तव में इसे रूट के रूप में चलाने की आवश्यकता है, तो --asrootविकल्प का उपयोग करें ।

  4. पैकेज स्थापित करें। makepkgफाइललेट के साथ डायरेक्टरी में एक फाइल बनानी चाहिए .pkg.tar.xz। आपको -Uपैक्मैन के साथ विकल्प का उपयोग करके इस पैकेज को स्थापित करना चाहिए ।

    $ sudo pacman -U x.pkg.tar.xz
    

    सुनिश्चित करें कि आप x.pkg.tar.xzवास्तविक पैकेज नाम से प्रतिस्थापित करते हैं।


नौसिखिए उपयोगकर्ताओं के लिए मैन्युअल रूप से पैकेज बनाना निश्चित रूप से अनुशंसित नहीं है। वास्तव में, सभी को यरोर्ट का उपयोग करना चाहिए। यह पूरी प्रक्रिया को सरल बनाता है।
Jivings

आपको अभी भी उन पैकेजों की आवश्यकता है और armv6h आर्च के संकलन के लिए PKGBUILD को संपादित करना है।
Anglepoise

5
@Jivings वास्तव में, पूरे कारण योरोथ और अन्य AUR सहायकों को आधिकारिक रिपो में नहीं है कि आप स्वचालित टूल का उपयोग करने से पहले विदेशी पैकेजों को मैन्युअल रूप से स्थापित करने का तरीका जानने वाले हैं।
पायरुलेज


है kernel26-headersअभी भी वास्तविक? गूगल के साथ इसके बारे में कुछ नहीं मिला। और समूह base-develमें शामिल है file
user3123159

34

सबसे आसान समाधान yaourt उपयोग करने के लिए है (अभी तक एक और उपयोगकर्ता भंडार उपकरण)

आप के साथ स्थापित कर सकते हैं:

pacman -S yaourt

और फिर AUR के साथ सिंक करें:

yaourt -Syy

फिर आप AUR पैकेज खोज सकते हैं:

yaourt package-name

जो स्थापना के लिए इंटरैक्टिव संकेत प्रदान करेगा।

या यदि आप पैकेज का नाम ठीक से जानते हैं:

yaourt -S package-name

अधिकांश पैक्मैन कमांड यरकोर्ट के लिए समान हैं।


बीच क्या अंतर है pacmanऔर yaourt?
एलेक्स चेम्बरलेन

Yaourt AUR के साथ-साथ आधिकारिक रिपॉजिटरी की भी जाँच करता है। AUR पैकेज में कस्टमाइज़ेशन संभावनाएँ भी अधिक होती हैं।
जीव

यह अब काम नहीं करता है। आधिकारिक समाधान क्या है?
टेकनकोलागी

2
pacman -S yaourtकाम नहीं करता है और मैं archlinuxfrजाहिरा तौर पर उन्हें होस्ट नहीं कर सकताarmv6h
टेकनोलगी

1
@tekknolagi yaourtआर्क आर्म के लिए मुख्य भंडार में हुआ करता था। शायद उन्होंने इसे हटा दिया .... लेकिन आप अभी भी इसे स्रोत से बना सकते हैं, जिसे आर्क विकी पर AUR लेख में समझाया गया है । और यहाँ इसके लिए एक पैकेज फ़ाइल है । मुझे आशा है कि वह मदद करेंगे!
Jivings

10

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

आधिकारिक विकी विस्तार से बताते हैं, कि कैसे एक स्थापित करने / एक पैकेज है कि pacman (पैकर और इस तारीख के रूप में yaourt) का हिस्सा नहीं है निर्माण के बारे में चला जाता है।

AUR की तारीख में पैकर और येरोइट दोनों को हरी झंडी दिखाई गई। (यह भविष्य में बदल सकता है)।


अच्छा उत्तर! मैं makepkg -si का उपयोग करना चाहिये और साथ ही (PKGBUILD फ़ाइल की जाँच के बाद)
smoothware

7

मैं इस उद्देश्य के लिए पैकर का उपयोग करता हूं जो कि मेरी राय में यरटो के लिए एक तेज विकल्प है।

बस इन दो पंक्तियों को अपने साथ जोड़ें /etc/pacman.conf:

[archlinuxfr]
Server = http://repo.archlinux.fr/$arch

फिर आप पैक्मैन के जरिए पैकर को अपडेट / इंस्टॉल कर सकते हैं:

# pacman -Sy packer

और पैकर का उपयोग उसी तरीके से करें जैसे आप पैक्मैन का उपयोग करते हैं:

$ packer -S some_aur_package

इसके अलावा, यदि आप AUR से सभी पैकेजों को अपग्रेड नहीं करना चाहते हैं:

$ packer -Syu

पैकर पहले pacman -Syuआधिकारिक रिपॉजिटरी से पैकेज को अपग्रेड करने के लिए चलेगा , फिर यह सभी AUR पैकेज को अपग्रेड करेगा।


4

जरूरी! yaourtविकी के अनुसार असुरक्षित और पदावनत है: https://wiki.archlinux.org/index.php/AUR_helpers

जबकि @ 12 में @Jivings का जवाब सबसे अच्छा था, मैं एक और अधिक सुरक्षित और सुविधा संपन्न आर्क पैकेज प्रबंधकों को स्थापित करने की सलाह दूंगा (और मैं सुझाव देता हूं कि कोई व्यक्ति @ अपडेट का उत्तर दें क्योंकि इसमें सबसे अधिक दृश्यता है)।

मैं aurmanइसका उपयोग और खुदाई कर रहा हूं । सभी सुविधाएँ हैं, सुरक्षित है, और cli लगभग pacman की तरह काम करता है। स्थापित करने के लिए:

cd ~/Downloads
git clone https://aur.archlinux.org/aurman.git
cd aurman
makepkg -Acs
# Change xxx below to downloaded version
sudo pacman -U aurman-xxx.pkg.tar.xz

तो फिर आप लगभग एक pacman गाइड का पालन कर सकते हैं, लेकिन aurmanpacman के बजाय का उपयोग कर । निम्नलिखित मार्गदर्शिका https://www.digitalocean.com/community/tutorials/how-to-use-arch-linux-package-management से ली गई थी और मुझे शुरू कर दिया गया:


शुरू करना

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

आगे बढ़ने से पहले, सुनिश्चित करें कि आपके पैकेज डेटाबेस के साथ तारीख तक हैं:

sudo pacman -Sy

खोज कर

इंटाइटिविटी पर अनुकूलता, आर्क लिनक्स में अधिकांश पैकेज प्रबंधन संचालन प्रारूप में दिखाई देते हैं:

pacman -<a-z><a-z>.

उदाहरण के लिए, पैक्मैन रिपॉजिटरी की खोज के लिए सामान्य कमांड है

pacman -Ss <package> 

...

वैकल्पिक रूप से, आप कोई रंग हाइलाइटिंग के नकारात्मक पक्ष के साथ pacman -Qs का उपयोग कर सकते हैं।

pacman -Qs linux

यदि आप pacman -Ss के साथ रंग हाइलाइटिंग चाहते हैं, तो आप /etc/pacman.conf से कलर को अनकंफर्ट कर सकते हैं। हालाँकि, यह पचसर्च की तुलना में अलग-अलग चीज़ों को उजागर करता है, इसलिए आप दोनों को आज़माना चाहते हैं और देख सकते हैं कि आपको कौन सी पसंद है।

sudo vi /etc/pacman.conf

...
# Misc options
#UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists
...

सूचना हासिल करना

pacman -Qi displays basic information about an installed package.

pacman -Qi linux

Name           : linux
Version        : 3.8.4-1
Description    : The linux kernel and modules
Architecture   : x86_64
URL            : http://www.kernel.org/
Licenses       : GPL2
Groups         : base
Provides       : kernel26=3.8.4
Depends On     : coreutils  linux-firmware  kmod  mkinitcpio>=0.7
Optional Deps  : crda: to set the correct wireless channels of your country
Required By    : None
Optional For   : None
Conflicts With : kernel26
Replaces       : kernel26
Installed Size : 64728.00 KiB
Packager       : Tobias Powalowski <tpowa@archlinux.org>
Build Date     : Wed Mar 20 21:16:17 2013
Install Date   : Fri Mar 29 01:02:14 2013
Install Reason : Explicitly installed
Install Script : Yes
Validated By   : Unknown

यदि pacman -Qi को बिना किसी तर्क के पारित कर दिया जाता है, तो यह सिस्टम के सभी पैकेजों को वापस कर देता है। इंस्टॉल किए गए पैकेजों के बारे में विशेष जानकारी प्राप्त करने के लिए आप इस आउटपुट को खोज सकते हैं।

उदाहरण के लिए, यदि आप प्रत्येक पैकेज और उसके आकार को प्राप्त करना चाहते हैं:

pacman -Qi | grep -e "Name" -e "Installed Size"

Name           : a52dec
Installed Size : 244.00 KiB
Name           : aalib
Installed Size : 768.00 KiB

...

जबकि pacman -Qi इंस्टॉल किए गए पैकेजों के बारे में जानकारी प्रदान करता है, pacman -Si एक पैकेज के बारे में सबसे हाल ही में पुनर्प्राप्त जानकारी के लिए डेटाबेस से पूछताछ करता है।

pacman -Si linux

pacman -Ql पैकेज से जुड़ी सभी फाइलों को सूचीबद्ध करता है।

pacman -Ql vi

vi /usr/
vi /usr/bin/
vi /usr/bin/edit
vi /usr/bin/ex
vi /usr/bin/vedit
vi /usr/bin/vi

...

प्रत्येक लाइन पर पैकेज का नाम स्क्रिप्ट में आउटपुट का उपयोग करना अधिक कठिन बना सकता है। pacman -Qlq (यानी "pacman क्वेरी सूची, शांत") पैकेज नाम नहीं छापेगा।

pacman -Qlq vi

/usr/
/usr/bin/
/usr/bin/edit
/usr/bin/ex
/usr/bin/vedit
/usr/bin/vi

...

आप pacman -Qlq का उपयोग कर सकते हैं | grep बिन उस पैकेज में सभी फ़ाइलों को खोजने के लिए है जो एक बिन फ़ोल्डर में हैं (और इस प्रकार संभावित निष्पादन योग्य फ़ाइलें हैं)। यह तब काम आता है जब पैकेज से जुड़ी कमांड पैकेज के नाम से अलग होती है।

pacman -Qql pacman | grep bin

स्थापित कर रहा है

मानक पैकेज को स्थापित या अपग्रेड करने का विशिष्ट तरीका पैक्मैन -एस है।

sudo pacman -S <package>

पैकेज में अक्सर उनके नाम के समान पैटर्न होते हैं। ब्रैकेट को शॉर्टकट के रूप में इस्तेमाल किया जा सकता है।

sudo pacman -S lua-{sec,socket,zlib}

कभी-कभी आप इसे स्थापित किए बिना अभिलेखीय उद्देश्यों के लिए एक पैकेज डाउनलोड करना चाहते हैं। pacman -Sw कैश फ़ोल्डर के लिए एक पैकेज डाउनलोड करेगा।

sudo pacman -Sw <package>

यदि कोई पैकेज डाउनलोड किया गया है, या यदि आप यूआरएल जानते हैं, तो आप इसे सीधे इंस्टॉल कर सकते हैं।

sudo pacman -U <package_path>

उन्नयन

चूंकि पेसमैन रिमोट रिपॉजिटरी के साथ एक पैकेज को "सिंक" करने के विचार के आसपास घूमता है, pacman -Sअगर यह पहले से ही स्थापित है तो पैकेज को अपग्रेड करेगा।

पैकमैन उन पैकेजों को सूचीबद्ध कर सकता है जो पुराने हैं।

pacman -Qu

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

आप नियमित अभिव्यक्ति का उपयोग करके pacman -Qi या pacman -Si से संस्करण प्राप्त कर सकते हैं।

pacman -Qi linux | grep "Version" | sed 's/^Version\s*:\s//'

3.8.4-1

और फिर एक स्क्रिप्ट लिखें जो संस्करणों को एक साथ दिखाता है।

for i in $(pacman -Qqu)
do
  printf "$i: "
  printf "$(pacman -Qi "$i" | grep 'Version' | sed 's/^Version\s*:\s//') "
  echo   "$(pacman -Si "$i" | grep 'Version' | sed 's/^Version\s*:\s//')"
done

पैकमैन एक बार में आपके सभी पैकेजों को अपग्रेड करने का एक तरीका प्रदान करता है, लेकिन यह अनुशंसित नहीं है क्योंकि आर्क एक रोलिंग रिलीज वितरण है। यदि समस्याएं उत्पन्न होती हैं, तो यह निर्धारित करने में समय लग सकता है कि कारण क्या हैं।

sudo pacman -Syu

डाउनग्रेड

आर्क लिनक्स आधिकारिक तौर पर पदावनत पैकेज को बनाए नहीं रखता है। इसके बजाय, आपको अपने पैकेज कैश और आर्क रोलबैक मशीन जैसी जगहों पर भरोसा करना होगा। कैश

पैकमैन के साथ डाउनलोड किया गया हर पैकेज / var / cache / pacman / pkg में संग्रहीत किया जाता है।

ls /var/cache/pacman/pkg | grep linux

linux-3.11.6-1-x86_64.pkg.tar.xz
linux-3.9.7-1-x86_64.pkg.tar.xz

...

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

pacman -U <path_to_cached_file>

आर्क रोलबैक मशीन

आर्क रोलबैक मशीन आधिकारिक आर्क लिनक्स दर्पण के स्नैपशॉट का एक संग्रह है। इस लेखन के रूप में, यह चार महीने पीछे चला जाता है। एआरएम वर्तमान में http://seblu.net/a/arm पर होस्ट किया गया है , हालांकि यह भविष्य में बदल सकता है।

एआरएम पैकेजों को पेसमैन-यू का उपयोग करके दूर से स्थापित किया जा सकता है।

pacman -U http://seblu.net/a/arm/2013/08/31/extra/os/x86_64/apache-2.2.25-1-x86_64.pkg.tar.xz

एआरएम को पुराने पैकेजों के लिए ब्राउज़ करना बिल्कुल सुविधाजनक नहीं है। सौभाग्य से, ऐसे उपकरण हैं जो इसे आसान बनाते हैं:

downgrade
downgrader

वे कैश और एआरएम में पुराने संस्करणों की खोज करते हैं। उनका उपयोग वह है जो आप उम्मीद करेंगे।

downgrade <package>
downgrader <package>

दोनों उपकरण AUR में हैं, इसलिए उन्हें स्थापित करने का सबसे आसान तरीका yaourt जैसे सहायक के साथ होगा।

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

पैकेज निकालें, बशर्ते उस पर कुछ भी निर्भर न हो। इसकी निर्भरता स्थापित छोड़ दें।

sudo pacman -R <package>

पैकेज निकालें, बशर्ते उस पर कुछ भी निर्भर न हो। इसकी निर्भरता निकालें जो किसी और चीज की आवश्यकता नहीं है।

sudo pacman -Rs <package>

एक पैकेज के बल को हटाने। यह वह कमांड है जिसके लिए आप अपने सिस्टम से सिर्फ पैकेज मिटा सकते हैं और जब केवल पर्याप्त नहीं है, तब पुनर्स्थापित करें।

sudo pacman -Rdd <package>

एक पैकेज को पूरी तरह से हटाने के लिए :aurman -Rsn <package>
mjd2

0

सबसे पहले आपको AUR से पैकेज डाउनलोड करना होगा। उस रन को करने के लिए: git clone http://aur.archlinux.org/package.gitभले ही ऐसा लगे कि आप किसी .gitफाइल को डाउनलोड कर रहे हैं , आउटपुट एक डायरेक्टरी होगा।

cd packageएक PKGBUILDफ़ाइल खोजने के लिए । इसका उपयोग अगले चरण में किया जाएगा।

अंत में, आपके द्वारा अभी डाउनलोड किए गए पैकेज को संकलित करने और स्थापित करने के लिए इस कमांड को चलाएं। makepkg -Sri। यदि आप चाहते हैं कि उन पत्रों में से प्रत्येक का व्यापक makepkg -hस्पष्टीकरण हो , तो आप चला सकते हैं कि वे सभी कहाँ बताए जाएंगे।


2
स्टाॅक एक्सचेंज में आपका स्वागत है, आशीष .. क्या आप अपने उत्तर पर थोड़ा विस्तार से बता सकते हैं - उपरोक्त कार्य करने की आवश्यकता क्यों है, कथन क्या करते हैं, आदि।
फिल बी।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.