Wenn Sie makepkg
direkt verwenden, verschmutzt es Ihr System etwas. Die base-devel
Paketgruppe muss installiert sein. Auf diese Weise bleiben standardmäßig Abhängigkeiten installiert, die nur zum Erstellen des Pakets, aber nicht zum Verwenden des Pakets erforderlich sind. Dieses Standardverhalten kann geändert werden. Dies beinhaltet jedoch die Installation und Deinstallation von Paketen sowie die Verschmutzung Ihrer /var/log/pacman.log
.
In diesem Artikel finden Sie Informationen zum Verständnis und zur Verwendung des AUR im Allgemeinen, einschließlich des Erhaltens des PKGBUILD
. In diesem Dokument werden nur die Schritte angezeigt, für makepkg
die Sie ein Paket kompilieren möchten.
Kompilieren mit Makepkg
Wenn die base-devel
Paketgruppe noch nicht installiert ist, müssen Sie sie installieren. Wenn Sie dies nicht tun, makepkg
wird davon ausgegangen, dass es bereits installiert ist. Wenn ein Paket darin erforderlich, aber nicht installiert ist, schlägt es einfach fehl, anstatt es für Sie zu installieren. makepkg
selbst ist Teil des pacman
Pakets, bereits installiert.
# pacman -S base-devel
Sie müssen makepkg
in dem Verzeichnis mit PKGBUILD
dem Verzeichnis ausführen , das von erstellt wurde git clone
. Standardmäßig wird der eigentliche Quellcode heruntergeladen, das Paket kompiliert und verpackt.
Es gibt viele Optionen für makepkg
, einschließlich dieser häufig verwendeten:
-s, --syncdeps
: Installieren Sie automatisch fehlende Abhängigkeiten, die zum Erstellen und Verwenden des Pakets erforderlich sind.
- Hinweis: Wenn das
PKGBUILD
Abhängigkeiten von AUR-Paketen aufweist, müssen Sie diese zuerst installieren oder in einem eigenen lokalen Repository verfügbar machen, damit es sie finden kann.
-r, --rmdeps
: Wenn es erfolgreich erstellt wurde, deinstallieren Sie automatisch Abhängigkeiten, die nicht mehr benötigt werden, einschließlich der folgenden:
- Diejenigen, die für den Bau benötigt werden, aber das Paket nicht verwenden.
- Wenn ohne die
--install
Option verwendet, diejenigen, die für die Verwendung des Pakets erforderlich sind.
-i, --install
: Wenn es erfolgreich erstellt wurde, installieren / aktualisieren Sie das Paket automatisch.
-c, --clean
: Löschen Sie temporäre Build-Dateien automatisch, die normalerweise nur beim Debuggen eines fehlgeschlagenen Builds benötigt werden.
Um das Paket automatisch zu installieren / zu aktualisieren, lassen Sie die Abhängigkeiten für die Verwendung des Pakets installiert und entfernen Sie die Abhängigkeiten, die nur während der Erstellung benötigt werden. Führen Sie Folgendes aus:
# makepkg -sri
Alternativ können Sie festlegen, dass es nicht automatisch installiert wird und alle Abhängigkeiten installiert bleiben. Wenn Sie also eines Tages ein Upgrade verpacken, sind diese bereits installiert:
# makepkg -s
Sie können dann entweder ein lokales Repository verwenden, wie hier erläutert , oder die Datei direkt installieren:
# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
Paket schneller
Kombiniert standardmäßig makepkg
ein gesamtes Paket in einem Archivformat. Erstellen einer .tar.xz
Datei mit einem einzelnen Thread für die xz
Komprimierung.
Auf Systemen mit mehreren CPUs können Sie die xz
Verwendung mehrerer Threads durch Bearbeiten zulassen /etc/makepkg.conf
und die folgende Zeile ändern:
COMPRESSXZ=(xz -c -z -)
Sie können so viele Threads zulassen, wie Sie über virtuelle Kerne verfügen:
COMPRESSXZ=(xz -c -z - --threads=0)
Fügen Sie eine bestimmte Anzahl hinzu, um die Verwendung mehrerer, aber nicht aller virtueller Kerne zu ermöglichen, z. B. um die Auswirkungen auf die Gesamtsystemleistung zu verringern:
COMPRESSXZ=(xz -c -z - --threads=21)
Hinweis: Wenn Sie mehr Threads als die Anzahl der virtuellen Kerne angeben, wird die Leistung verringert.
Wenn es Ihnen nichts ausmacht, dass die Paketdatei (möglicherweise viel) größer ist, deaktivieren Sie die Komprimierung durch Bearbeiten /etc/makepkg.conf
und ändern Sie die folgende Zeile:
PKGEXT='.pkg.tar.xz'
Es sollte wie folgt aussehen:
PKGEXT='.pkg.tar'
Überspringen der Überprüfung der PGP-Signatur
Es wird empfohlen, alle verwendeten PGP-Signaturen ordnungsgemäß zu überprüfen und hinzuzufügen, wie hier im Abschnitt "PGP-Signaturfehler" erläutert .
Wenn Sie jedoch makepkg
direkt ausgeführt werden, können Sie die --skippgpcheck
Überprüfung der PGP-Signatur überspringen.