AUR'dan paketleri nasıl kurarım?


61

Arch Linux, kullanıcının oluşturduğu paketlerin bir koleksiyonu olan AUR'ye (Arch User Repository) sahiptir. Bu paketleri Arch Linux ARM'e nasıl yüklerim?


2
"Aur" deposunda halihazırda sağlanan birçok aur paketi varmış gibi görünüyor. Kazara buldum. pacman -S paketiniz gerçekten işe yarayabilir. Mesela cower ve gmrender-resurrect-git ile çalışır.
enigmaticPhysicist

Yanıtlar:


53

Arch Linux ARM'in Yapı Paketleri sayfasına göre yapmanız gerekenler.

  1. Yapı esaslarını yükleyin. Bunların Arch Linux ARM'teki paketleri derlemesi için gereklidir.

    $ sudo pacman -S kernel26-headers file base-devel abs
    
  2. Elde edin PKGBUILD. İstediğiniz tarball'ı indirmeniz gerekir. En programlar için tar bulabilirsiniz AUR .

  3. Paketleri hazırla. Daha makepkgsonra pacman'ın kurabileceği bir paket oluşturmak için koşmanız gerekir.

    $ makepkg -Acs
    

    Bu -Aseçenek hedef Arch mimarisini yok sayar. -cSeçenek sonra dizin temizler makepkgyapılır ve -sgerekli bağımlılıkları yükler.

    Do tavsiye edilir DEĞİL çalıştırmak makepkgsisteminize kalıcı hasara neden olabilir olarak root olarak. Eğer varsa gerçekten olsa root olarak çalıştırmak gerekir kullanmak --asrootseçeneği.

  4. Paketi yükleyin. makepkgfiletype ile dizinde bir dosya oluşturmalıydı .pkg.tar.xz. -UPacman ile seçeneği kullanarak bu paketi kurmalısınız .

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

    x.pkg.tar.xzGerçek paket adıyla değiştirdiğinizden emin olun .


Acemi kullanıcılar için paketleri manuel olarak oluşturmak kesinlikle önerilmez. Aslında herkes Yaourt kullanmalı. Tüm süreci basitleştirir.
Jivings

Hala bu paketlere ihtiyacınız var ve armv6h arch için derlemek için PKGBUILD'ı düzenleyin.
Anglepoise

5
@Jivings Aslında, yaourt ve diğer AUR yardımcılarının resmi depoda bulunmamasının nedeni, otomatik paketleri kullanmadan önce yabancı paketlerin nasıl kurulacağını öğrenmeniz gerektiğidir.
PyRulez

2
'abs' paketi depoda mevcut değil
dmnc

olduğu kernel26-headershala gerçek? Google ile ilgili hiçbir şey bulamadınız. Ve grup base-develiçeriyor file.
user3123159 16:17

34

En kolay çözüm Yaourt'u kullanmaktır (Ancak, Başka Bir Kullanıcı Deposu Aracı) .

İle yükleyebilirsiniz:

pacman -S yaourt

Ve sonra AUR ile senkronize edin:

yaourt -Syy

Daha sonra AUR paketlerinde arama yapabilirsiniz:

yaourt package-name

Hangi kurulum için etkileşimli istemler sağlayacaktır.

Veya paketin adını tam olarak biliyorsanız:

yaourt -S package-name

Pacman komutlarının çoğu yaourt için aynıdır.


Arasındaki fark nedir pacmanve yaourt?
Alex Chamberlain

Yaourt ayrıca AUR'nin yanı sıra resmi depoları da kontrol eder. AUR paketleri de daha fazla kişiselleştirme imkanına sahiptir.
Jivings

Bu artık çalışmıyor. Resmi çözüm nedir?
tekknolagi

2
pacman -S yaourtçalışmıyor ve archlinuxfrgörünüşte barındırdıkları gibi armv6h
ekleyemiyorum

1
@tekknolagi yaourt, Arch Arm'ın ana deposundaydı. Belki de kaldırdılar ... Ama yine de Arch Wiki'deki AUR makalesinde anlatılan kaynağından inşa edebilirsiniz . Ve burada bunun için bir paket dosyası var . Umarım bu yardımcı olur!
Jivings

10

Yukarıdaki cevapların hepsi eski. Cevabım çok iyi değil, ama umarım modası geçmiş olmaktan kaçınır.

Resmi wiki biri / yükleme pacman (bu tarih itibariyle toptancı ve yaourt) bir parçası olmayan bir paket yapımı ile ilgili nasıl gidiyor, ayrıntılı olarak açıklıyor.

Hem paketleyici hem de yoğurt AUR'da güncel değil olarak işaretlenir. (Bu gelecekte değişebilir).


İyi cevap! Ben (PKGBUILD dosyasını kontrol ettikten sonra) ve makepkg -si kullanılması önerilir
smoothware

7

Bence yaourt'a göre daha hızlı bir alternatif olan packer kullanıyorum .

Sadece bu iki satırı size ekleyin /etc/pacman.conf:

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

Daha sonra paketleyiciyi pacman aracılığıyla kurabilir / güncelleyebilirsiniz:

# pacman -Sy packer

Paketleyiciyi, pacman kullandığınız şekilde kullanın:

$ packer -S some_aur_package

Ayrıca, AUR dahil olanlar dahil tüm paketleri yükseltmek istemiyorsanız:

$ packer -Syu

Paketleyici ilk pacman -Syuolarak paketleri resmi depolardan yükseltmek için çalışır , ardından tüm AUR paketlerini yükseltir.


4

ÖNEMLİ! yaourtwiki'ye göre güvensiz ve kullanımdan kaldırılmıştır: https://wiki.archlinux.org/index.php/AUR_helpers

@Jivings'in yanıtı en iyi 12'de iken, daha güvenli ve zengin özelliklere sahip kemer paketi yöneticilerinden birini kurmanızı öneririm (ve en fazla görünürlüke sahip birinden @Jivings'in yanıtını güncellemelerini öneririm).

Ben kullanıyorum aurmanve kazmak. Tüm özelliklere sahip, güvenli ve uçurum neredeyse tamamen pacman gibi çalışır. Yüklemek:

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

Daha sonra pacman aurmanyerine neredeyse tam olarak ancak pacman yerine bir pacman kılavuzunu takip edebilirsiniz . Aşağıdaki rehber https://www.digitalocean.com/community/tutorials/how-to-use-arch-linux-package-management adresinden alınmış ve beni başlattı:


Başlamak

Arch Linux, diğer modern Linux dağıtımlarında bulunanlara benzer paket yönetim olanakları sunar. Bu, ortak paket yönetimi işlemleri için bir rehberdir.

Devam etmeden önce, paket veritabanlarınızın aşağıdakilerle güncel olduğundan emin olun:

sudo pacman -Sy

Aranıyor

Sezgiselliğe göre kısalıkları tercih eden Arch Linux'taki çoğu paket yönetimi işlemi şu biçimde görünür:

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

Örneğin, pacman depolarını aramak için normal komut şudur:

pacman -Ss <package> 

...

Alternatif olarak, dezavantajı olmayan, dezavantajı olan pacman -Q'ları kullanabilirsiniz.

pacman -Qs linux

Pacman -Ss ile rengini vurgulamak istiyorsanız, /etc/pacman.conf dosyasında Renk ile ilgili bilgileri kaldırabilirsiniz. Bu, pacsearch'ten farklı şeyleri vurgulamaktadır, bu yüzden ikisini de denemek ve hangisini daha çok sevdiğinizi görmek isteyebilirsiniz.

sudo vi /etc/pacman.conf

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

Bilgi almak

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 değişkenleri geçilmezse, sistemdeki tüm paketleri döndürür. Yüklü paketler hakkında özel bilgi almak için bu çıktıyı arayabilirsiniz.

Örneğin, her bir paketi ve boyutunu almak istiyorsanız:

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

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

...

Pacman -Qi kurulu paketler hakkında bilgi sağlarken, pacman -Si bir paket hakkında en son alınan bilgiler için veritabanını sorgular.

pacman -Si linux

pacman -Ql bir paketle ilişkili tüm dosyaları listeler.

pacman -Ql vi

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

...

Her satırdaki paket adı çıktının bir komut dosyasında kullanımını zorlaştırabilir. pacman -Qlq (yani "pacman sorgu listesi, quiet") paket adını yazdırmaz.

pacman -Qlq vi

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

...

Pacman kullanabilirsiniz -Qlq | grep bin bu paketteki tüm dosyaları bin klasöründe (ve dolayısıyla çalıştırılabilir dosyalardır) bulmak için grep bin. Bir paketle ilişkili komut paket adından farklı olduğunda bu kullanışlıdır.

pacman -Qql pacman | grep bin

yükleme

Standart bir paketi kurmanın veya yükseltmenin tipik yolu pacman -S'dir.

sudo pacman -S <package>

Paketler genellikle adlarında benzer bir yapıya sahiptir. Parantezler kısayol olarak kullanılabilir.

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

Bazen bir paketi sadece arşivleme amacıyla yüklemeksizin indirmek isteyebilirsiniz. pacman -Sw, önbellek klasörüne bir paket indirir.

sudo pacman -Sw <package>

Bir paket indirilmişse veya URL'yi biliyorsanız, doğrudan yükleyebilirsiniz.

sudo pacman -U <package_path>

Yükseltmeler

Pacman, bir paketi uzak havuzla "senkronize etme" fikrinin etrafında döndüğü için pacman -S, önceden kurulmuşsa bir paketi yükseltir.

Pacman, güncel olmayan paketleri listeleyebilir.

pacman -Qu

Ne yazık ki, depodaki paketin sürümünü göstermediğinden, her bir paketin ne kadar eski olduğunu söyleyemezsiniz. Bu sizin için önemliyse, üçüncü taraf paket yöneticilerine bakmak veya pacman -Qi ve pacman -Si'den alınan paket sürümünü birbirine bağlayan bir senaryo yazmak isteyebilirsiniz.

Düzenli bir ifade kullanarak pacman -Qi veya pacman -Si'den sürüm alabilirsiniz.

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

3.8.4-1

Ve sonra sürümleri yan yana gösteren bir betik yazın.

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

Pacman, tüm paketlerinizi bir kerede yükseltmek için bir yol sunar, ancak Arch bir yuvarlanma sürümü dağıtımı olduğu için önerilmez. Sorun ortaya çıkarsa, nedenlerin ne olduğunu belirlemek zaman alabilir.

sudo pacman -Syu

notunu düşürdü

Arch Linux resmen onaylanmayan paketleri korumaz. Bunun yerine, paket önbelleğinize ve Arch Rollback Machine gibi yerlere güvenmeniz gerekir. Önbellek

Pacman ile indirilen her paket / var / cache / pacman / pkg içerisinde saklanır.

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

...

Önbelleğinizdeki bir pakete dönmek isterseniz, doğrudan yükleyin.

pacman -U <path_to_cached_file>

Kemer Geri Alma Makinesi

Arch Rollback Machine, resmi Arch Linux aynasının anlık görüntülerinden oluşan bir koleksiyondur. Bu yazı itibariyle dört ay geriye gidiyor. ARM şu anda http://seblu.net/a/arm adresinde barındırılıyor , ancak gelecekte de değişebilir.

ARM paketleri pacman -U kullanılarak uzaktan kurulabilir.

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

Eski paketlerde ARM'a göz atmak tam olarak uygun değildir. Neyse ki, bunu kolaylaştıran araçlar var:

downgrade
downgrader

Önbellekte ve ARM'de eski sürümleri ararlar. Onların kullanımı beklediğiniz gibi.

downgrade <package>
downgrader <package>

Her iki araç da AUR'dadır, bu yüzden onları monte etmenin en kolay yolu yaourt gibi bir yardımcı olacaktır.

Not: ARM resmi olmayan bir projedir ve geçmişte kapatılmıştır; bu nedenle, ARM'in düşmesi veya tekrar konum değiştirmesi durumunda, önbelleğinizi temizlemekten kaçınmak iyi bir fikir olabilir. Eğer kendi ARM'inizi almak istiyorsanız, github'da bir NodeJS projesi varmış gibi görünüyor. uzaklaştırma

Hiçbir şeye bağlı olmadıkça bir paketi çıkarın. Bağımlılıklarını kurulu bırakın.

sudo pacman -R <package>

Hiçbir şeye bağlı olmadıkça bir paketi çıkarın. Başka hiçbir şey gerektirmeyen bağımlılıklarını ortadan kaldırın.

sudo pacman -Rs <package>

Bir paketin çıkarılmasını zorla. Bu, paketi sisteminizden silmek ve yalnızca yeniden yüklemek yeterli olduğunda yeniden yüklemek için ulaşacağınız komuttur.

sudo pacman -Rdd <package>

Bir paketi tamamen kaldırmak için:aurman -Rsn <package>
mjd2

0

Yapmanız gereken ilk şey paketi AUR'dan indirmek. Bu işlemi yapmak için: git clone http://aur.archlinux.org/package.gitBir .gitdosya indirmiş gibi görünseniz de , çıktı bir dizin olacaktır.

cd packageBir PKGBUILDdosyayı bulmak için Bu bir sonraki adımda kullanılacaktır.

Son olarak, az önce indirdiğiniz paketi derlemek ve yüklemek için bu komutu çalıştırın. makepkg -Sri. Bu harflerin her birinin ne anlama geldiğiyle ilgili kapsamlı bir açıklama istiyorsanız, makepkg -hhepsinin açıklanacağı yere koşabilirsiniz .


2
Stack Exchange'e hoş geldiniz, Ashish .. cevabınızı biraz detaylandırabilir misiniz - neden yukarıdakilerin yapılması gerekiyor, ifadeler ne yapıyor?
Phil B.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.