apt-mirror - InRelease und Release-Dateien aktualisieren

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
ofmueller
Beiträge: 34
Registriert: 11.04.2013 13:24:52

apt-mirror - InRelease und Release-Dateien aktualisieren

Beitrag von ofmueller » 02.01.2017 12:40:13

Ich habe für ein lokales Netzwerk mit apt-mirror einen Spiegelserver aufgesetzt. Leider habe ich ihn etwas länger nicht aktualisiert. Jetzt erhalte ich nachfolgende Meldung, wenn ich auf den Clients "apt-get update" eingebe:
Release-Datei für http://x.x.x.x/security/dists/jessie/updates/InRelease ist abgelaufen (ungültig seit 9 d 16 h 33 min 35 s). Aktualisierungen für dieses Depot werden nicht angewendet.
Auf dem Spiegelserver habe ich die Dateien "InRelease" und "Release*" umbenannt. Bei dem erneuten Aufruf von apt-mirror wurden die Ursprungsdateien wieder angelegt. Das Problem mit den Fehlermeldungen der Clients besteht also weiterhin.
drwxr-xr-x 4 nutzer nutzer 4096 Jan 2 07:58 contrib
-rw-r--r-- 1 root root 63063 Jan 2 08:39 InRelease
-rw-r--r-- 1 nutzer nutzer 63063 Jan 2 08:39 InRelease.sicher
drwxr-xr-x 4 nutzer nutzer 4096 Jan 2 07:58 main
drwxr-xr-x 4 nutzer nutzer 4096 Jan 2 07:58 non-free
-rw-r--r-- 1 root root 61460 Jan 2 08:39 Release
-rw-r--r-- 1 root root 1554 Jan 2 08:39 Release.gpg
-rw-r--r-- 1 nutzer nutzer 1554 Jan 2 08:39 Release.gpg.sicher
-rw-r--r-- 1 nutzer nutzer 61460 Jan 2 08:39 Release.sicher
Wie erhalte ich neue Release-Angaben für den Spiegelserver.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22355
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Re: apt-mirror - InRelease und Release-Dateien aktualisieren

Beitrag von KBDCALLS » 02.01.2017 12:52:18

Dann aktualisier ihn doch. Das sollte die einfachste Möglichkeit sein das wieder hinzubiegen.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

ofmueller
Beiträge: 34
Registriert: 11.04.2013 13:24:52

Re: apt-mirror - InRelease und Release-Dateien aktualisieren

Beitrag von ofmueller » 02.01.2017 13:09:34

Nein, das hilft nicht. Wenn ich apt-mirror aufrufe, werden die umbenannten Dateien - InRelease, Release und Release.ggp - in der Version angelegt, wie sie vorher waren. (vgl. Code-Schnipsel oben)

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: apt-mirror - InRelease und Release-Dateien aktualisieren

Beitrag von ThorstenS » 02.01.2017 15:14:28

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

ofmueller
Beiträge: 34
Registriert: 11.04.2013 13:24:52

Re: apt-mirror - InRelease und Release-Dateien aktualisieren

Beitrag von ofmueller » 03.01.2017 10:28:52

Danke für die ausfürhliche Beschreibung. Ich werde wohl auch auf go-apt-mirror umstellen.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: apt-mirror - InRelease und Release-Dateien aktualisieren

Beitrag von ThorstenS » 27.07.2018 12:07:30

Mittlerweile ist der mirror für jessie und stretch da.

Die nginx-default-Konfiguration:

Code: Alles auswählen

# inspiriert durch
# http://www.plankandwhittle.com/a-debianor-ubuntu-mirror-to-call-your-own/
server {
    listen 80;
    access_log /var/log/nginx/access.log anonymized;
    error_page 404 /404.html;
        location = /404.html {
        root /var/www/error;
        internal;
    }

    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 /private {
        autoindex on;
        root /var/www/;
    }

    location /debian {
        autoindex on;
        root /var/spool/go-apt-mirror;
    }
    location /security {
        autoindex on;
        root /var/spool/go-apt-mirror;
    }
    location /debian-security {
        proxy_pass http://deb.local/security;
    }
    location /backports {
        autoindex on;
        root /var/spool/go-apt-mirror;
    }
    # benötigt nginx-extras
    location = /ip {
        default_type text/html;                                                                                                                                                                                    
        content_by_lua 'ngx.say(ngx.var.remote_addr)';
        #ngx.say("<html><head><title>Current IP Check</title></head><body>")
        #ngx.say("</body></html>")
    }

}
Und die /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.
# Level is the log threshold level name. Empty string is treated as "info".
# Valid levels are "critical", "error", "warning", "info", and "debug".
dir = "/var/spool/go-apt-mirror"

# Maximum concurrent connections for an upstream server.
# Setting this 0 disables limit on the number of connections.
# Default: 10
max_conns = 10

# log specifies logging configurations.
# Details at https://godoc.org/github.com/cybozu-go/cmd#LogConfig
[log]
level = "info"
format = "plain"

# [mirror.xxx] defines a mirror configuration for a debian repository.
# "xxx" must match this regexp: ^[a-z0-9_-]+$
#
# url:           The repository base URL.
# suites:        List of suites to mirror.  see sources.list(5).
# sections:      List of sections to mirror.  see sources.list(5).
# mirror_source: true to mirror source archives.  Default is false.
# architectures: List of architectures to mirror.  "all" is always mirrored.
#[mirror.ubuntu]
#url = "http://archive.ubuntu.com/ubuntu"
#suites = ["trusty", "trusty-updates"]
#sections = ["main", "restricted", "universe",
#            "main/debian-installer",
#            "restricted/debian-installer",
#            "universe/debian-installer"]
#mirror_source = true
#architectures = ["amd64", "i386"]
#
#[mirror.ubuntusecurity]
#url = "http://security.ubuntu.com/ubuntu"
#suites = ["trusty-security"]
#sections = ["main", "restricted", "universe"]
#mirror_source = false
#architectures = ["amd64", "i386"]

[mirror.debian]
url = "http://ftp.de.debian.org/debian"
suites = ["jessie","jessie-updates","jessie-backports","stretch","stretch-updates","stretch-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","stretch/updates"]
sections = ["main", "contrib", "non-free"]
mirror_source = false
architectures = ["amd64"]

Eine sources.list für jessie

Code: Alles auswählen

# debian repo default                                                                                                                                                                                              
deb [arch=amd64] http://deb.local/debian jessie main contrib non-free

# debian repo updates / volatile
deb [arch=amd64] http://deb.local/debian jessie-updates main contrib non-free

# debian repo backports
deb [arch=amd64] http://deb.local/debian jessie-backports main contrib non-free

# debian repo security updates
deb [arch=amd64] http://deb.local/security jessie/updates main contrib non-free

Antworten