Eigene Repositorys erstellen: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(rc.d auf systemctl)
(Paket-Dateiendung in zst geändert)
 
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
Eigene Repositories erstellen und im Netz mittels http verteilen.
Eigene Repositorys erstellen und im Netz mittels http verteilen.


==Apache installieren und einrichten==
==Apache installieren und einrichten==
Zeile 32: Zeile 32:
Hier befinden sich Verzeichnisse für die Programme armagetronad, jumpnbump und knights. mypkgs ist der symbolische Link auf <tt>/home/httpd/html/mypkgs</tt>
Hier befinden sich Verzeichnisse für die Programme armagetronad, jumpnbump und knights. mypkgs ist der symbolische Link auf <tt>/home/httpd/html/mypkgs</tt>


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


2. Nun kopiert(<tt>cp</tt>) oder verschiebt(<tt>mv</tt>) man alle pkgs in das <tt>mypkgs</tt> Verzeichnis.
2. Nun kopiert(<tt>cp</tt>) oder verschiebt(<tt>mv</tt>) man alle pkgs in das <tt>mypkgs</tt> Verzeichnis.
  # cp ./*/*.pkg.tar.gz ./mypkgs
  # cp ./*/*.pkg.tar.zst ./mypkgs


3. Wechsel in das <tt>mypkgs</tt> Verzeichnis
3. Wechsel in das <tt>mypkgs</tt> Verzeichnis
Zeile 41: Zeile 41:


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


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

Aktuelle Version vom 9. Dezember 2019, 10:07 Uhr

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