Eigene Repositorys erstellen: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Freaknils (Diskussion | Beiträge)
K Dateiname bei repo-add an tar.xz format angepasst
Tuxnix (Diskussion | Beiträge)
Paket-Dateiendung in zst geändert
 
(3 dazwischenliegende Versionen von 2 Benutzern 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 9: Zeile 9:


3. httpd starten
3. httpd starten
  # /etc/rc.d/httpd start
  # systemctl start httpd.service


Wenn alles gut läuft sollte man nun unter <tt>http://eigeneIP</tt> die Apache Testseite vorfinden.
Wenn alles gut läuft sollte man nun unter <tt>http://eigeneIP</tt> die Apache Testseite vorfinden.
Man kann <tt>httpd</tt> auch als daemon in /etc/rc.conf eintragen, so das er bei jedem Systemstart gestartet wird.
Man kann <tt>httpd</tt> 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.
4. Erstellen eines neues Unterordners im Apache Dokumenten Root. In diesem Beispiel soll unser neues Repository '''mypkgs''' heissen.
Zeile 31: 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 40: 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