Apt-Repositorium erstellen (Variante 1: apt-ftparchive)
Hinzufügen von Paketen
Das Hinzufügen eines Pakets erfolgt manuell. Die Binärpakete landen im Verzeichnis Directory, die Quellen einschließlich der .dsc-Datei in SrcDirectory (siehe oben). Ob man für jedes Paket ein Unterverzeichnis erstellt, oder wie dieses lautet, ist egal – atp-ftparchive nimmt alles an. Die .changes-Datei wird für ein apt-ftparchive-Repo nicht benötigt. Im Beispielvideo handelt es sich um das Quellpaket xserver-xorg_1.8.2-9nano.
Im nächsten Schritt werden wir die besagten Packages-, Sources- und Contents-Dateien erstellen, damit apt das Repo überhaupt als solches erkennt. Hierzu erstellen wir zunächst eine zweite Konfigurationsdatei mit dem Namen apt-release.conf im Verzeichnis ROOT/conf mit folgendem Inhalt:
APT::FTPArchive::Release::Origin "Mein Name"; APT::FTPArchive::Release::Label "Mein Apt-Repo"; APT::FTPArchive::Release::Suite "photonic"; APT::FTPArchive::Release::Codename "photonic"; APT::FTPArchive::Release::Architectures "amd64 source"; APT::FTPArchive::Release::Components "main";
Eigentlich wäre Suite etwas wie stable, testing oder unstable, im Beispiel belassen wir es bei photonic. Alles andere ist eine Wiederholung von oben.
Nun erstellen wir im Verzeichnis ROOT/conf das Skript apt-update.sh, welches alle weiteren Schritte automatisiert, damit wir uns auf die wirklich relevanten Dinge konzentrieren können. Das Skript sieht wie folgt aus:
#!/bin/bash # ins ROOT-Verzeichnis wechseln cd $HOME/apt # Die Packages-, Sources- und Contents-Dateien erstellen apt-ftparchive generate $HOME/apt/conf/apt-archive.conf # Als nächstes die Packages-Datei erstellen apt-ftparchive -c $HOME/apt/conf/apt-release.conf release \ $HOME/apt/dists/photonic/ >$HOME/apt/dists/photonic/Release # Ins DIST-Verzeichnis wechseln und das Repo signieren cd $HOME/apt/dists/photonic gpg -abs -o Release.gpg Release
Mit chmod +x ROOT/conf/apt-update.sh
machen wir das Skript ausführbar. Jetzt können wir unser Repo fertigstellen, indem wir das Skript aufrufen. Die Ausgabe sieht im Beispiel wie folgt aus:
pool/photonic-main-amd64: 10 files 12,2MB 0 s pool/photonic-source/: xorg-server has no source override entry xorg-server has no binary override entry either 1 pkgs in 0 s Packages done, Starting contents. dists/photonic//Contents-amd64: 10 files 12,2MB 0 s Done. 12,2MB in 10 archives. Took 0 s
Die Meldungen xorg-server has no source override entry und xorg-server has no binary override entry either können wir getrost ignorieren. Overrides sind optional und werden in der Regel nicht verwendet, allerdings gibt es keinen Schalter, um die unnötige Warnung auszublenden.
Jetzt können wir unser Repo testweise in die sources.list eintragen:
# Mein Apt-Repo deb file:///home/chris/apt/ photonic main deb-src file:///home/chris/apt/ photonic main