Arch Linux - Eigenes Repository einrichten

Nachdem zunächst geklärt wurde, wie man sich seine eigenen Pakete erstellt, folgt nun die Beschreibung wie man ein eigenes Repository einrichtet. Im Prinzip das Vorgehen unter Arch Linux recht einfach gehalten, daher möchte ich das Ganze nicht wirklich als Tutorial/Anleitung bezeichnen.

Logo of Arch Linux

  • einen Webserver (bzw. wenn das Repository lokal ist nicht einmal den) + Zugriff auf das Dateisystem Dabei ist es von Vorteil, wenn man (zu mindestens für das Repository) das Indexing erlaubt (bspw. für nginx).
  • seine Pakete

Ich bin mir nicht ganz sicher ob die Skripte zur Erzeugung der Datenbank nicht auch auf anderen Distributionen laufen würden, daher die Einschränkung. Die Auslieferung funktioniert unabhängig von der Distribution, da nur ein Webserver benötigt wird.

  1. Zu allererst verschafft man sich Zugang zu seinem Webserver. Dabei bietet es sich an, den Ort wo die Pakete liegen sollen in das lokale Dateisystem zu mounten. Wie man es macht ist eigentlich egal, ich benutzte zur Zeit sshfs jedoch würde es sicherlich auch mit einer nfs-Freigabe funktionieren.
  2. Kopieren der fertigen Pakete in das Verzeichnis
  3. Erzeugen der Paketdatenbank (im Verzeichnis)

bash

## hinzufügen aller Pakete
repo-add mypkgs.db.tar.gz *.pkg.tar.xz 
## hinzufügen eines Pakets
repo-add {reponame}.db.tar.gz {paketname}.pkg.tar.xz

ini

[{reponame}]
SigLevel = Optional TrustAll
Server = http://host/pfad/zur/datenbank

Dabei sollten die Werte für {reponame} in Schritt 3 und 4 übereinstimmen. Wichtig ist dabei, dass man das Siglevel entsprechend anpasst. Optional TrustAll setzt keine Signierung der Pakete durch den Ersteller voraus und bietet sich daher zum Testen an.

bash

pacman -Syuu

Fertig ist das eigene Arch Linux Repository. So muss ich nicht alle Pakete auf jedem Rechner mit Arch Linux bauen, sondern kann sie via vServer allen Rechnern an denen ich arbeite bequem aktuell halten. Der nächste Schritt wäre die Signierung und ein bis zwei Spiegelserver. Wobei diese dann auch im LAN stehen könnten.