Eigene Repositorys erstellen

Aus wiki.archlinux.de

Eigene Repositorys erstellen und im Netz mittels http verteilen.

Apache installieren und einrichten

1. Apache installieren

# pacman -S apache

2. Die Datei /etc/httpd/conf/httpd.conf mit einem Editor für seine Bedürfnisse anpassen

# vi /etc/httpd/conf/httpd.conf

3. httpd starten

# systemctl start httpd.service

Wenn alles gut läuft sollte man nun unter http://eigeneIP die Apache Testseite vorfinden. Man kann httpd auch bei jedem Systemstart starten lassen. Das geht mit

# systemctl enable httpd.service

4. Erstellen eines neues Unterordners im Apache Dokumenten Root. In diesem Beispiel soll unser neues Repository mypkgs heissen.

# mkdir /home/httpd/html/mypkgs

5. Da alle Pakete in einem extra Verzeichnis erstellt werden (/var/abs/local), erstellen wir hier einen symbolischen Link in das neue Verzeichnis.

# ln -s /home/httpd/html/mypkgs /var/abs/local/mypkgs

Eigenes Repository erstellen

Nachdem nun Apache läuft können wir nun unser Repository erstellen.

1. Wechseln in das Abs Verzeichnis (/var/abs/local)

cd /var/abs/local

Mein Verzeichnis sieht zur Zeit so aus:

# ls
armagetronad  jumpnbump  knights  mypkgs

Hier befinden sich Verzeichnisse für die Programme armagetronad, jumpnbump und knights. mypkgs ist der symbolische Link auf /home/httpd/html/mypkgs

In jedem dieser Verzeichnisse gibt es das fertige Paket. Für armagetronad wäre dies armagetronad-0.2.8.2.1-1-i686.pkg.tar.zst

2. Nun kopiert(cp) oder verschiebt(mv) man alle pkgs in das mypkgs Verzeichnis.

# cp ./*/*.pkg.tar.zst ./mypkgs

3. Wechsel in das mypkgs Verzeichnis

# cd mypkgs

4. Erstellen der Datenbank

# repo-add mypkgs.db.tar.zst

Beispiel Ausgabe

# repo-add mypkgs.db.tar.zst
:: adding package 'armagetronad-0.2.8.2.1-1-i686.pkg.tar.zst'
:: creating 'desc' db entry
:: computing MD5SUM checksums
:: creating 'depends' db entry
:: adding package 'jumpnbump-1.55-1-i686.pkg.tar.zst'
:: creating 'desc' db entry
:: computing MD5SUM checksums
:: creating 'depends' db entry
:: adding package 'knights-0.6.4beta-1-i686.pkg.tar.zst'
:: creating 'desc' db entry
:: computing MD5SUM checksums
:: creating 'depends' db entry
:: creating updated database file /home/httpd/html/mypkgs/mypkgs.db.tar.zst

/etc/pacman.conf für den aktuellen PC anpassen

...
# eigenes Paket repository
[mypkgs]
Server = file:///var/abs/local/mypkgs

Dies hat den Vorteil das Apache nicht laufen muss, wenn man seine Pakete installieren will.


/etc/pacman.conf für alle PCs im Netz anpassen

# eigenes Paket repository
[mypkgs]
Server = http://eigeneIP/mypkgs

Siehe auch