eigenes apt-Repository
Dieser Artikel wurde von tuxorials.de (Dokuwiki) hierher migriert! Mögliche Darstellungsfehler bitte ich zu entschuldigen.
Bei diesem Beitrag handelt es sich um die Darstellung der Konfiguration eines Programms, dass die für ein Repository nötigen Dateien automatisch erstellt. Es ist damit möglich, eigene deb-Pakete zu verteilen, wobei dieser Vorgang Inhalt eines eigenen Artikels war.
Das Programm apt-ftparchive
müsste standardmäßig installiert sein,
wenn nicht muss es nachinstalliert werden. Ich beschreibe hier die
Erstellung eines Repository mit dem Namen custom
und darauf sind auch
die Konfigurationen angepasst. Es muss auf dem selben Rechner ein
Webserver, z.B der Apache installiert sein, da ich davon ausgehe, dass
die Pakete für andere bereitgestellt werden sollen.
folgende Dateien müssen bearbeitet bzw. erstellt werden:
/etc/apt/apt-ftparchive-custom.conf
/etc/apt/apt-custom-release.conf
Die Verzeichnisstruktur muss folgend angelegt werden:
/var/www/repository/
`-- dists
` `-- custom
` `-- main
` `-- binary-i386
In das Verzeichnis binary-i386 kommen dann die tatsächlichen Pakete.
Die Datei /etc/apt/apt-ftparchive-custom.conf muss dann wie folgt aussehen:
Dir { ArchiveDir "/var/www/repository" };
BinDirectory "dists/custom/main/binary-i386" {
Packages "dists/custom/main/binary-i386/Packages";
Contents "dists/custom/Contents-i386";
};
Tree "dists/custom" {
Sections "main";
Architectures "i386";
};
Die Datei /etc/apt/apt-custom-release.conf muss ähnlich aussehen:
APT::FTPArchive::Release::Origin "eigenes-repo";
APT::FTPArchive::Release::Label "eigenes-repo";
APT::FTPArchive::Release::Suite "custom";
APT::FTPArchive::Release::Codename "custom";
APT::FTPArchive::Release::Architectures "i386";
APT::FTPArchive::Release::Components "main";
APT::FTPArchive::Release::Description "Eigene Pakete";
Folgende Befehle müssen abgesetzt werden, um das custom-repository zu bauen:
root@host #] apt-ftparchive generate /etc/apt/apt-ftparchive-custom.conf
root@host #] apt-ftparchive -c /etc/apt/apt-custom-release.conf release /var/www/repository/dists/custom/ > /var/www/repository/dists/custom/Release
Es muss auf den Clients nur folgende Zeile an die
/etc/apt/sources.list
angehängt werden:
deb http://server/repository custom main
Hinweis: Wenn Sie das jetzt so testen, werden Sie sehen, dass das Paket nicht authentifiziert werden kann. Das liegt daran, dass das Repository nicht signiert ist. Dies ist aber Inhalt eines eigenen Artikels.
Nach dem Signieren des Repositories müssen folgende Befehle ausgeführt werden:
root@agent #] wget http://server/repository/repo.key
root@agent #] apt-key add repo.key