luizgavalda.aur
Ansible AUR-Helfer
Ansible-Modul zur Verwendung einiger Arch User Repository (AUR) Helfer sowie makepkg.
Die folgenden Helfer werden unterstützt und automatisch ausgewählt, falls vorhanden, in der unten aufgeführten Reihenfolge:
makepkg wird verwendet, wenn kein Helfer gefunden wurde oder wenn er ausdrücklich angegeben wird:
Optionen
Parameter | Wahlmöglichkeiten/Standard | Kommentare |
---|---|---|
name | Name oder Liste der Namen der zu installierenden oder zu aktualisierenden Pakete. | |
state | present, latest | Gewünschter Zustand des Pakets, 'present' überspringt Vorgänge, wenn das Paket bereits installiert ist. |
upgrade | ja, nein | Ob das gesamte System aktualisiert werden soll oder nicht. |
use | auto, yay, paru, pacaur, trizen, pikaur, aurman, makepkg | Das zu verwendende Tool, 'auto' verwendet den ersten bekannten Helfer und makepkg als Fallback. |
extra_args | null | Eine Liste zusätzlicher Argumente, die direkt an das Tool übergeben werden. Kann nicht im 'auto'-Modus verwendet werden. |
aur_only | ja, nein | Einschränkung der Helferoperation auf das AUR. |
local_pkgbuild | Lokales Verzeichnis mit PKGBUILD, null | Nur gültig mit makepkg oder pikaur. Lade das Paket nicht vom AUR herunter. Baue das Paket mit einem lokalen PKGBUILD und den anderen Build-Dateien. |
skip_pgp_check | ja, nein | Nur gültig mit makepkg. Überspringe die PGP-Signaturprüfung der Quelldatei, nützlich beim Installieren von Paketen, wenn GnuPG nicht richtig konfiguriert ist. |
ignore_arch | ja, nein | Nur gültig mit makepkg. Ignoriere ein fehlendes oder unvollständiges Arch-Feld, nützlich, wenn das PKGBUILD nicht das Arch-Feld (arch=('yourarch')) hat. |
Hinweis
- Entweder name oder upgrade ist erforderlich, beide können nicht zusammen verwendet werden.
- Im use=auto Modus wird makepkg als Fallback verwendet, wenn kein bekannter Helfer gefunden wird.
Installation
AUR-Paket
Das ansible-aur-git Paket ist im AUR verfügbar.
Hinweis: Das Modul wird in /usr/share/ansible/plugins/modules
installiert, das ist einer der Standard-Pfad für Modulsammlungen.
Manuelle Installation
Klonen Sie einfach das ansible-aur Repository in Ihr benutzerdefiniertes Modulverzeichnis:
git clone https://github.com/luizgavalda/ansible-aur.git ~/.ansible/plugins/modules/aur
Ansible Galaxy
ansible-aur ist in Galaxy verfügbar, das ein Hub für das Teilen von Ansible-Inhalten ist. Um es herunterzuladen, verwenden Sie:
ansible-galaxy install luizgavalda.aur
Hinweis: Wenn dieses Modul von Ansible Galaxy installiert wird, müssen Sie es ausdrücklich in Ihrem Playbook auflisten:
# playbook.yml
- hosts: localhost
roles:
- luizgavalda.aur
tasks:
- aur: name=package_name
oder in Ihrer Rolle:
# meta/main.yml
dependencies:
- luizgavalda.aur
# tasks/main.yml
- aur: name=package_name
Nutzung
Hinweise
- Der Umfang dieses Moduls ist die Installation und Aktualisierung aus dem AUR; für die Paketentfernung oder für Aktualisierungen aus den Repositories wird empfohlen, das offizielle pacman Modul zu verwenden.
- Der Parameter --needed des Helfers wird systematisch verwendet, das bedeutet, wenn ein Paket aktuell ist, wird es nicht gebaut und neu installiert.
Erstellen Sie den "aur_builder" Benutzer
Während Ansible erwartet, sich als root über SSH zu verbinden, erlauben makepkg oder AUR-Helfer nicht, Vorgänge als root auszuführen. Sie schlagen mit "Sie können diese Operation nicht als root ausführen" fehl. Daher wird empfohlen, einen Benutzer zu erstellen, der kein root ist, aber kein Passwort mit pacman in sudoers benötigt, nennen wir ihn aur_builder.
Dieser Benutzer kann in einer Ansible-Aufgabe mit den folgenden Aktionen erstellt werden:
- user:
name: aur_builder
create_home: no
group: wheel
- lineinfile:
path: /etc/sudoers.d/11-install-aur_builder
line: 'aur_builder ALL=(ALL) NOPASSWD: /usr/bin/pacman'
create: yes
validate: 'visudo -cf %s'
Beispiele
Verwenden Sie es in einer Aufgabe, wie in den folgenden Beispielen:
# Installieren Sie trizen mit makepkg, überspringen, wenn es bereits installiert ist
- aur: name=trizen use=makepkg state=present
become: yes
become_user: aur_builder
# Installieren Sie package_name mithilfe des ersten bekannten Helfers
- aur: name=package_name
become: yes
become_user: aur_builder
# Installieren Sie package_name_1 und package_name_2 mit yay
- aur:
use: yay
name:
- package_name_1
- package_name_2
# Aktualisieren Sie das System mit yay, nur auf AUR-Pakete agieren.
# Hinweis: Die Abhängigkeitsauflösung schließt immer noch Repository-Pakete ein.
- aur: upgrade=yes use=yay aur_only=yes
# Installieren Sie gnome-shell-extension-caffeine-git mit pikaur und einem lokalen PKGBUILD.
# Überspringen, wenn es bereits installiert ist
- aur:
name: gnome-shell-extension-caffeine-git
use: pikaur
local_pkgbuild: {{ role_path }}/files/gnome-shell-extension-caffeine-git
state: present
become: yes
become_user: aur_builder
Ansible module to use some Arch User Repository (AUR) helpers as well as makepkg.
ansible-galaxy install luizgavalda.aur