With a local package repository, I'm able to provide my APT instances with a set of software packages and configurations from a server which I control, allowing any client to install this software using just the normal
apt install command (providing the repository is added to their
For my attempt at creating a local package repository, I followed this tutorial on bipmedia.com, which roughly consists of:
- Generate the .deb
- Store the .deb on an Apache2 web server
- Generate a Package.gz file
Generating the binary package file
To generate the .deb, the software files are required, a DEBIAN folder with metadata is generated and the following command compiles the code and assembles the package:
dpkg-deb --build [
source code tree with DEBIAN directory
Serve repository files with Apache2 server
I'm skipping this part as it's unrelated to the problem I'm seeking to solve with this question.
Generating a Packages.gz file (repository metadata)
With the an open shell instance whose working directory is the Apache server root folder containing the
.deb file from above, I called:
dpkg-scanpackages debian /dev/null | gzip -9c >debian/Packages.gz
apt update on the client machine, it complains with:
W: The repository 'http://example.com packages/ Release' does not have a Release file.
This necessary file is missing in my local repository. It seems to be a register of package checksums, but after searching on the Internet, my very limited understanding of the topic kept me from being able to find out how to generate it.
/etc/apt/sources.list file does have the following line:
deb http://example.com packages/
How do I generate the
Release file for a local APT package repository?