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

Was braucht man? Link to heading

  • 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

Anlegen und Füllen des Repository (unter Arch Linux) Link to heading

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)
  ## 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
  1. Repository in die Paketverwaltung eintragen
  [{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](https://wiki.archlinux.org/index.php/Pacman#Package_security "Arch Linux Wiki Paketsicherheit") entsprechend anpasst. Optional TrustAll setzt keine Signierung der Pakete durch den Ersteller voraus und bietet sich daher zum Testen an.

5. Aktualisieren der Paketlisten (auf jedem Rechner)
``` 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.