jednoduché Debian repository

Tento návod bude o tom ako sa dá spraviť jednoduché Debian repository. Použité budú: dpkg-scanpackages, dpkg-scansources, apt-ftparchive, gpg a Makefile. Adresárová štruktúra je nasledovná:

debian-simple-repo
|-- Makefile
|-- Release.conf
`-- unstable    # generované súbory
    |-- Packages
    |-- Packages.bz2
    |-- Packages.gz
    |-- Release
    |-- Release.gpg
    |-- Sources
    |-- Sources.bz2
    `-- Sources.gz

Makefile

all: repository

repository:
	dpkg-scanpackages unstable /dev/null > unstable/Packages
	dpkg-scansources  unstable /dev/null > unstable/Sources
	
	bzip2 -c9 unstable/Packages > unstable/Packages.bz2
	gzip -c9 unstable/Packages > unstable/Packages.gz
	bzip2 -c9 unstable/Sources  > unstable/Sources.bz2
	gzip -c9 unstable/Sources  > unstable/Sources.gz
	
	apt-ftparchive -c=Release.conf release unstable > unstable/Release
	-rm unstable/Release.gpg
	gpg -abs -o unstable/Release.gpg unstable/Release

clean:
	rm -f unstable/Packages* unstable/Sources* unstable/Release*

Release.conf

APT::FTPArchive::Release::Origin "your@email";
APT::FTPArchive::Release::Label "Test repository";
APT::FTPArchive::Release::Suite "unstable";
APT::FTPArchive::Release::Architectures "i386 source";
APT::FTPArchive::Release::Components "main";

generovanie

Všetky *.deb, *.dsc, *.diff.gz, *.changes, *.orig.tar.gz treba skopírovať do unstable/ adresára a spustiť príkaz `make`. Tak sa vygenerujú unstable/Packages*, unstable/Sources*, unstable/Release* súbory. Potom už len celý adresár ako je vyuploadovať na web/ftp server.

použitie

/etc/apt/sources.list súbor na cieľovom Debian počítači/serveri treba upraviť a pridať použitý kľúč pomocou `apt-key add`.

sources.list

deb http://your.hostname/some/folder/ unstable/
deb-src http://your.hostname/some/folder/ unstable/

keď treba viac

Pre robustnejšie riešenie ktoré by pripomínalo distribučné repositories sa dá použiť reprepro. Setting up your own APT repository with upload support - je dobrý článok o tom ako na to.

7 Júl 2009
Jozef