Pakete unter Arch Linux mit makepkg kompilieren

Die direkte Verwendung von makepkg kann zu einer überladenen Systemumgebung führen. Es ist wichtig, dass die Paketgruppe base-devel installiert ist. Standardmäßig bleiben bei der Nutzung von makepkg alle zur Kompilierung benötigten Abhängigkeiten installiert – auch wenn diese für die Ausführung des Pakets nicht notwendig sind. Dieses Verhalten lässt sich ändern, was jedoch das Protokoll /var/log/pacman.log unnötig belasten kann.

Dieser Text konzentriert sich ausschließlich auf den Einsatz von makepkg zur Paketkompilierung.

makepkg Schritt für Schritt nutzen

Stelle sicher, dass die Paketgruppe base-devel installiert ist. Fehlt sie, geht makepkg davon aus, dass sie vorhanden ist – was zu Fehlern führt, wenn benötigte Tools fehlen. makepkg selbst ist Bestandteil des Pakets pacman und somit bereits im System vorhanden.

base-devel installieren

Führe makepkg im Verzeichnis aus, in dem sich die PKGBUILD-Datei befindet – in der Regel jenes, das durch einen git clone aus dem AUR erstellt wurde. Standardmäßig lädt makepkg den Quellcode, kompiliert ihn und erstellt das fertige Paket.

Häufig verwendete Optionen von makepkg

  • -s, --syncdeps: Installiert automatisch alle Abhängigkeiten, die für den Bau und die Nutzung des Pakets erforderlich sind. Befinden sich benötigte Abhängigkeiten im AUR, müssen diese vorher manuell installiert oder aus einem lokalen Repository bezogen werden.
  • -r, --rmdeps: Entfernt nach erfolgreicher Kompilierung nicht mehr benötigte Abhängigkeiten:
    • Pakete, die nur für den Build erforderlich sind.
    • Wird --install nicht genutzt, auch Laufzeit-Abhängigkeiten.
  • -i, --install: Installiert oder aktualisiert das fertig gebaute Paket automatisch.
  • -c, --clean: Entfernt temporäre Build-Dateien – hilfreich beim Debugging von fehlerhaften Builds.

Paket automatisch installieren und aufräumen

Dieser Befehl installiert das Paket nach erfolgreichem Build, behält Laufzeit-Abhängigkeiten bei und entfernt nur jene, die für den Bau benötigt wurden:

Abhängigkeiten für spätere Updates behalten

Wenn du das Paket nicht sofort installieren möchtest, aber die installierten Abhängigkeiten für zukünftige Paket-Updates erhalten willst, nutze folgenden Befehl:

Nach dem Kompilieren kannst du entweder ein lokales Repository einrichten, oder das Paket direkt mit folgendem Befehl installieren:

 
# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz

 

makepkg-Bauprozess beschleunigen

Standardmäßig erstellt makepkg Paketdateien im Format .tar.xz – dabei nutzt es lediglich einen einzigen Thread für die xz-Kompression.

Mehrere Threads auf Mehrkernsystemen aktivieren

Wenn dein System über mehrere CPU-Kerne verfügt, kannst du xz für die Nutzung mehrerer Threads konfigurieren. Öffne dazu die Datei /etc/makepkg.conf und suche die folgende Zeile:

Um alle virtuellen Kerne zu verwenden, ändere sie wie folgt:

 
COMPRESSXZ=(xz -c -z - --threads=0)

Möchtest du nur eine bestimmte Anzahl an Threads verwenden, um dein System zu entlasten, kannst du zum Beispiel diese Einstellung nutzen:

 
COMPRESSXZ=(xz -c -z - --threads=21)

Hinweis: Wenn du mehr Threads angibst, als dein System tatsächlich zur Verfügung hat, kann das die Performance verschlechtern.

Kompression deaktivieren für schnellere Builds

Wenn Speicherplatz für dich keine große Rolle spielt und du Wert auf schnelle Paketgenerierung legst, kannst du die Kompression ganz ausschalten. Öffne dazu in /etc/makepkg.conf folgende Zeile:

Und ersetze sie durch:

PGP-Signaturprüfung überspringen (nicht empfohlen)

Es ist generell empfehlenswert, PGP-Signaturen ordnungsgemäß zu überprüfen und zu importieren.

Möchtest du dennoch makepkg direkt verwenden und die Signaturprüfung überspringen, kannst du dies mit dem folgenden Parameter tun:

Fazit: Pakete effizient mit makepkg erstellen

Mit makepkg behältst du beim Kompilieren unter Arch Linux die volle Kontrolle. Durch das Installieren von base-devel, die Aktivierung der Mehrkernkompression sowie gezieltes Abhängigkeitsmanagement lässt sich sowohl die Systemsauberkeit als auch die Performance verbessern.

Auch wenn das Überspringen von PGP-Prüfungen technisch möglich ist, sollte man aus Sicherheitsgründen möglichst auf empfohlene Prüfmechanismen setzen. Richtig konfiguriert ist makepkg ein starkes Werkzeug zur Erstellung eigener Pakete aus dem AUR oder anderen Quellen.

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren: