Ich hab mich auch schon X-Mal mit apt-mirror rumgeärgert und bin vor Weihnachten nun auf go-apt-mirror gewechselt.
https://github.com/cybozu-go/aptutil
Blogbeitrag dazu
http://ymmt2005.hatenablog.com/entry/20 ... apt-mirror
Meine config für jessie/amd64 inkl. security und backports unter
/etc/apt/mirror.toml
Code: Alles auswählen
# Directory to store mirrored files and other control files.
# The directory must be writable by go-apt-mirror.
dir = "/var/spool/go-apt-mirror"
# Maximum concurrent connections for an upstream server.
# Setting this 0 disables limit on the number of connections.
max_conns = 10
# log specifies logging configurations.
# Details at https://godoc.org/github.com/cybozu-go/cmd#LogConfig
[log]
level = "error"
format = "plain"
[mirror.debian]
url = "http://ftp.de.debian.org/debian"
suites = ["jessie","jessie-updates","jessie-backports"]
sections = ["main", "non-free", "contrib",
"main/debian-installer",
"non-free/debian-installer",
"contrib/debian-installer"]
mirror_source = false
architectures = ["amd64"]
[mirror.security]
url = "http://security.debian.org"
suites = ["jessie/updates"]
sections = ["main", "contrib", "non-free"]
mirror_source = false
architectures = ["amd64"]
Mir reicht damit ein
go-apt-mirror security für ein Update von security oder
go-apt-mirror , um beide repos zu aktualisieren.
Das belegt übrigens 78GB Platz.
Lohnenswert ist auch das tool go-apt-cacher aus dem github-repo. Habe ich daheim auf dem Laptop am Laufen. Das hilft mir beim bevölkern der VMs und läuft endlich stabil.
Hatte mit apt-cacher/apt-cacher-ng und squid2/squid3 in den letzten Jahren so einiges an Erfahrung gesammelt. Diese beiden go-Programme laufen einfach.
Leider kannst du imho nicht deine bisherigen Pakete aus deinem apt-mirror importieren, so wie das der apt-cacher-ng kann.
Der Vollständigkeit halber noch eine passende sources.list von meinem multiarch/jessie
Code: Alles auswählen
# debian repo default
deb [arch=amd64] http://deb.domain.tld/debian jessie main contrib non-free
# debian repo updates / volatile
deb [arch=amd64] http://deb.domain.tld/debian jessie-updates main contrib non-free
# debian repo backports
deb [arch=amd64] http://deb.domain.tld/debian jessie-backports main contrib non-free
# debian repo security updates
deb [arch=amd64] http://deb.domain.tld/security jessie/updates main contrib non-free
# debian-installer repo
#deb [arch=amd64] http://deb.domain.tld/debian jessie main/debian-installer
# multiarch - unser Spiegel hält nur amd64 vor:
deb [arch=i386] http://ftp.de.debian.org/debian/ jessie main non-free contrib
deb [arch=i386] http://ftp.de.debian.org/debian/ jessie-updates main non-free contrib
deb [arch=i386] http://ftp.de.debian.org/debian/ jessie-backports main non-free contrib
deb [arch=i386] http://ftp.de.debian.org/debian-security/ jessie/updates main non-free contrib
# src
# deb-src http://http.debian.net/debian/ jessie main non-free contrib
# deb-src http://security.debian.org/ jessie/updates main non-free contrib
# deb-src http://http.debian.net/debian/ jessie-updates main non-free contrib
Fehlt dir nur noch ein einfacher nginx, um die Sache ins Netz zu bringen.
cat /etc/nginx/sites-enabled/default
Code: Alles auswählen
# inspiriert durch
# http://www.plankandwhittle.com/a-debianor-ubuntu-mirror-to-call-your-own/
server {
listen 80;
location = /robots.txt { access_log off; log_not_found off; }
location = /favicon.ico { access_log off; log_not_found off; }
location / {
autoindex on;
root /var/www/html;
}
location /debian {
autoindex on;
root /var/spool/go-apt-mirror;
}
location /security {
autoindex on;
root /var/spool/go-apt-mirror;
}
}
Dazu noch ein cronjob, der dir den mirror aktualisiert:
Code: Alles auswählen
45 3 * * 1 root test -x /usr/local/bin/go-apt-mirror && /usr/local/bin/go-apt-mirror
45 20 * * * root test -x /usr/local/bin/go-apt-mirror && /usr/local/bin/go-apt-mirror security