Comment installer des packages à partir de l'AUR?


61

Arch Linux dispose de l’AUR (Arch User Repository), un ensemble de packages créés par l’utilisateur. Comment puis-je installer ces paquets sur Arch Linux ARM?


2
On dirait qu'il y a déjà beaucoup de paquets aur fournis dans le référentiel "aur". Je l'ai trouvé par accident. pacman -S votre paquet pourrait effectivement fonctionner. Cela fonctionne avec cower et gmrender-resurrect-git, par exemple.
énigmatique

Réponses:


53

Selon la page Building Packages de Arch Linux ARM, vous devez le faire.

  1. Installez les bases de la construction. Celles-ci sont nécessaires pour compiler des packages sur Arch Linux ARM.

    $ sudo pacman -S kernel26-headers file base-devel abs
    
  2. Obtenir le PKGBUILD. Vous devez télécharger l'archive que vous voulez. Vous pouvez trouver les archives pour les programmes à l’ AUR .

  3. Faire les paquets. Ensuite, vous devez exécuter makepkgafin de générer un paquet que pacman peut installer.

    $ makepkg -Acs
    

    L' -Aoption ignore l'architecture Arch cible. L' -coption nettoie le répertoire une fois makepkgterminé et -sinstalle les dépendances nécessaires.

    Il est conseillé de NE PAS exécuter en makepkgtant que root car cela pourrait causer des dommages permanents à votre système. Si vous avez vraiment besoin de l'exécuter en tant que root, utilisez l' --asrootoption.

  4. Installez le paquet. makepkgaurait dû créer un fichier dans le répertoire avec le type de fichier .pkg.tar.xz. Vous devriez installer ce paquet en utilisant l' -Uoption avec pacman.

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

    Assurez-vous de remplacer x.pkg.tar.xzpar le nom du package actuel.


La création manuelle de packages n'est certainement pas recommandée aux utilisateurs novices. En fait, tout le monde devrait utiliser Yaourt. Cela simplifie l'ensemble du processus.
Jivings

Vous avez toujours besoin de ces paquets et d’éditer le fichier PKGBUILD afin de le compiler pour archv6h arch.
Anglepoise le

5
@Jivings En fait, la raison pour laquelle yaourt et les autres assistants d'AUR ne figurent pas dans le dépôt officiel est que vous êtes censé apprendre à installer manuellement des packages étrangers avant d'utiliser un outil automatisé.
PyRulez

2
Le paquet 'abs' n'est pas présent dans le référentiel
dmnc le

est-ce kernel26-headerstoujours d'actualité? Je n'ai rien trouvé à ce sujet avec Google. Et le groupe base-develcontient file.
user3123159

34

La solution la plus simple consiste à utiliser Yaourt (Yet Anther User Repository Tool) .

Vous pouvez installer avec:

pacman -S yaourt

Et puis synchronisez avec l'AUR:

yaourt -Syy

Vous pouvez ensuite rechercher les packages AUR:

yaourt package-name

Ce qui fournira des invites interactives pour l'installation.

Ou si vous connaissez le nom du paquet exactement:

yaourt -S package-name

La plupart des commandes pacman sont les mêmes pour yaourt.


Et quelle est la différence entre pacmanet yaourt?
Alex Chamberlain

Yaourt contrôle également l'AUR ainsi que les référentiels officiels. Les paquets AUR ont aussi plus de possibilités de personnalisation.
Jivings

Cela ne fonctionne plus. Quelle est la solution officielle?
tekknolagi

2
pacman -S yaourtne fonctionne pas et je ne peux pas ajouter archlinuxfr, apparemment, ils n'hébergent pasarmv6h
tekknolagi

1
@tekknolagi se trouvait yaourtdans le référentiel principal de Arch Arm. Peut-être l'ont-ils enlevé ... Mais vous pouvez toujours le construire à partir des sources, comme l'explique l' article de l' AUR sur Arch Wiki. Et il y a un fichier de paquet pour cela ici . J'espère que ça aide!
Jivings

10

Toutes les réponses ci-dessus sont obsolètes. Ma réponse n'est pas très bonne, mais j'espère que cela évitera de devenir obsolète.

Le wiki officiel explique en détail comment installer / construire un paquet ne faisant pas partie de pacman (packer et yaourt à compter de cette date).

L'emballeur et le yaourt sont marqués comme périmés dans AUR. (cela peut changer dans le futur).


Bonne réponse! Je recommande également d'utiliser makepkg -si (après vérification du fichier PKGBUILD)
smoothware

7

J'utilise packer à cette fin qui, à mon avis, est une alternative plus rapide au yaourt.

Ajoutez simplement ces deux lignes à votre /etc/pacman.conf:

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

Ensuite, vous pouvez installer / mettre à jour l’emballeur via pacman:

# pacman -Sy packer

Et utilisez packer de la même manière que pacman:

$ packer -S some_aur_package

Aussi, si vous ne voulez pas mettre à jour tous les paquets, y compris ceux de l’AUR:

$ packer -Syu

Packer s’exécutera d’abord pacman -Syupour mettre à jour les paquets à partir de référentiels officiels, puis il mettra à jour tous les paquets AUR.


4

IMPORTANT! yaourtest non sécurisé et déprécié selon le wiki: https://wiki.archlinux.org/index.php/AUR_helpers

Alors que la réponse de @Jivings était préférable dans la version 12, je recommanderais d'installer l'un des gestionnaires de paquets Arch les plus sécurisés et les plus riches en fonctionnalités (et je suggère à quelqu'un de mettre à jour la réponse de @Jivings car elle a la plus grande visibilité).

J'utilise aurmanet creuse. A toutes les fonctionnalités, est sécurisé, et le CLI fonctionne presque exactement comme Pacman. À installer:

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

Ensuite, vous pouvez alors suivre un guide pacman presque exactement mais en utilisant à la aurmanplace de pacman. Le guide suivant est tiré de https://www.digitalocean.com/community/tutorials/how-to-use-arch-linux-package-management et m'a permis de démarrer:


Commencer

Arch Linux fournit des fonctionnalités de gestion de paquets similaires à celles des autres distributions Linux modernes. Ceci est un guide des opérations courantes de gestion de paquets.

Avant de continuer, assurez-vous que vos bases de données de paquets sont à jour avec:

sudo pacman -Sy

Recherche

Privilégiant l’intuitivité et la brièveté, la plupart des opérations de gestion de paquets sous Arch Linux se présentent sous le format suivant:

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

Par exemple, la commande normale de recherche dans les référentiels pacman est

pacman -Ss <package> 

...

Alternativement, vous pouvez utiliser pacman -Qs avec l'inconvénient de ne pas mettre en surbrillance les couleurs.

pacman -Qs linux

Si vous souhaitez mettre en surbrillance les couleurs avec pacman -Ss, vous pouvez retirer le commentaire de Couleur de /etc/pacman.conf. Il met cependant en évidence différentes choses que pacsearch. Vous voudrez peut-être essayer les deux et voir laquelle vous préférez.

sudo vi /etc/pacman.conf

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

Obtenir des informations

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

Si aucun argument n'est transmis à pacman -Qi, tous les packages du système sont renvoyés. Vous pouvez rechercher cette sortie pour obtenir des informations spécialisées sur les packages installés.

Par exemple, si vous voulez obtenir chaque paquet et sa taille:

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

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

...

Alors que pacman -Qi fournit des informations sur les packages installés, pacman -Si interroge la base de données pour obtenir les informations les plus récemment récupérées sur un package.

pacman -Si linux

pacman -Ql liste tous les fichiers associés à un paquet.

pacman -Ql vi

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

...

Le nom du package sur chaque ligne peut rendre la sortie plus difficile à utiliser dans un script. pacman -Qlq ("pacman query list, quiet") n'imprimera pas le nom du paquet.

pacman -Qlq vi

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

...

Vous pouvez utiliser pacman -Qlq | grep bin pour trouver tous les fichiers de ce paquet qui se trouvent dans un dossier bin (et sont donc probablement des fichiers exécutables). Ceci est pratique lorsque la commande associée à un package est différente de son nom.

pacman -Qql pacman | grep bin

L'installation

Le moyen typique d'installer ou de mettre à niveau un paquet standard est pacman -S.

sudo pacman -S <package>

Les paquets ont souvent un motif similaire dans leurs noms. Les crochets peuvent être utilisés comme raccourci.

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

Parfois, vous voudrez peut-être simplement télécharger un paquet à des fins d’archivage sans l’installer. pacman -Sw téléchargera un paquet dans le dossier de cache.

sudo pacman -Sw <package>

Si un package a été téléchargé ou si vous connaissez l'URL, vous pouvez l'installer directement.

sudo pacman -U <package_path>

Mises à niveau

Puisque pacman tourne autour de l'idée de "synchroniser" un paquet avec le référentiel distant, il pacman -Smettra à jour un paquet s'il est déjà installé.

Pacman peut lister les paquets périmés.

pacman -Qu

Malheureusement, il n'affiche pas la version du paquet dans le référentiel, vous ne pourrez donc pas dire à quel point chaque paquet est obsolète. Si cela est important pour vous, vous voudrez peut-être consulter des gestionnaires de paquets tiers ou écrire un script reliant la version du paquet obtenue à partir de pacman -Qi et de pacman -Si.

Vous pouvez obtenir la version de pacman -Qi ou pacman -Si en utilisant une expression régulière.

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

3.8.4-1

Et écrivez ensuite un script qui affiche les versions côte à côte.

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 offre un moyen de mettre à jour tous vos paquets à la fois, mais cela n’est pas recommandé car Arch est une distribution en continu. Si des problèmes surviennent, il peut prendre un certain temps pour en déterminer les causes.

sudo pacman -Syu

Déclassement

Arch Linux ne maintient pas officiellement les paquets obsolètes. Au lieu de cela, vous devrez utiliser votre cache de paquets et des emplacements tels que Arch Rollback Machine. Cache

Chaque paquet téléchargé avec pacman est stocké dans / 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

...

Si vous souhaitez revenir à un paquet dans votre cache, installez-le directement.

pacman -U <path_to_cached_file>

Machine de restauration d'arche

Arch Rollback Machine est une collection de clichés du miroir officiel Arch Linux. Au moment d'écrire ces lignes, cela remonte à quatre mois. L'ARM est actuellement hébergé sur http://seblu.net/a/arm , mais cela pourrait changer à l'avenir.

Les packages ARM peuvent être installés à distance à l’aide de pacman -U.

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

Il n’est pas pratique de parcourir le système ARM à la recherche de packages plus anciens. Heureusement, il existe des outils qui facilitent cela:

downgrade
downgrader

Ils recherchent des versions plus anciennes dans le cache et l’ARM. Leur utilisation est ce que vous attendez.

downgrade <package>
downgrader <package>

Les deux outils sont dans l'AUR, le moyen le plus simple de les installer est donc avec un assistant comme yaourt.

Remarque: ARM est un projet non officiel et a été fermé par le passé. Il peut donc être judicieux d'éviter de vider votre cache au cas où ARM tombe en panne ou change de lieu. Si vous souhaitez lancer votre propre ARM, il semble qu’il existe un projet NodeJS sur github. Suppression

Supprimez un paquet, à condition que rien ne dépende de celui-ci. Laissez ses dépendances installées.

sudo pacman -R <package>

Supprimez un paquet, à condition que rien ne dépende de celui-ci. Supprimez ses dépendances qui ne sont requises par rien d’autre.

sudo pacman -Rs <package>

Forcer le retrait d'un paquet. C’est la commande que vous obtiendrez pour effacer simplement le paquet de votre système et le réinstaller lorsque la réinstallation seule ne suffit pas.

sudo pacman -Rdd <package>

Pour supprimer complètement un paquet:aurman -Rsn <package>
mjd2

0

La première chose à faire est de télécharger le package à partir de l’AUR. Pour ce faire, git clone http://aur.archlinux.org/package.gitmême s’il semble que vous téléchargez un .gitfichier, le résultat sera un répertoire.

cd packagetrouver un PKGBUILDfichier. Ceci sera utilisé dans la prochaine étape.

Enfin, exécutez cette commande pour compiler et installer le package que vous venez de télécharger. makepkg -Sri. Si vous voulez une explication complète de la signification de chacune de ces lettres, vous pouvez aller makepkg -hlà où elles seront toutes expliquées.


2
Bienvenue dans Stack Exchange, Ashish. Pouvez-vous préciser votre réponse - pourquoi faudrait-il procéder de la manière indiquée ci-dessus, à quoi servent les déclarations, etc.?
Phil B.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.