I created a local repository for downloading stretch debian dist and I used nginx as a web server for this.
I downloaded all the files and dirs with wget --no-parent --recursive http://ftp.us.debian.org/debian/dists/stretch
and placed them in /var/www/html
but when I want to debootstrap my machine with this command debootstrap --include=systemd-container,curl stretch /var/lib/machines/m1 http://[my machine ip]/debian
it gave me this error:
E: Couldn't download packages: libacl1 adduser libapparmor1 apt apt-utils libapt-inst2.0 ....
and this warning(s):
I: Retrieving xxd 2:8.0.0197-4+deb9u3
W: Couldn't download package xxd (ver 2:8.0.0197-4+deb9u3 arch amd64)
I don't understand! what is the problem?
The problem is that with your
wget
command, you downloaded all the repository metadata (under /debian/dists/stretch), but the actual packages are in a different location (under /debian/pool), so you weren't providingdebootstrap
with a complete repository.The Debian Wiki has a page that describes the 'Anatomy of a repository'. At the bottom of that page are some links to tools for working with repositories. Rather than using
wget
to copy an existing repo, I would recommend using software designed for mirroring and managing repos. I have successfully used Aptly and Artifactory for this purpose.