Lösung:

Lösung:

Ich verwende es, apt-mirrorum einen lokalen Ubuntu-Spiegel zu erstellen. Es gelingt zwar, Dateien von einem anderen Spiegel herunterzuladen (das sind etwa ein paar Gigabyte pro Woche), aber es werden nie etwas gelöscht oder Dateien angezeigt, die gelöscht werden können. Irgendwann könnte mir der freie Speicherplatz ausgehen.

Die Ausgabe von apt-mirrorenthält immer

0,0 Bytes in 0 Dateien und 0 Verzeichnissen können freigegeben werden.

Führen Sie zu diesem Zweck /var/spool/apt-mirror/var/clean.sh aus.

Das clean.shwird jedes Mal ausgeführt apt-mirror, da der Inhalt von /var/spool/apt-mirror/var/postmirror.shnur

/var/spool/apt-mirror/var/clean.sh

Beim Ausführen clean.shwird folgende Ausgabe erzeugt:

0 unnötige Dateien [0 Bytes] werden entfernt … fertig.

0 unnötige Verzeichnisse werden entfernt … fertig.

Hier ist meine mirror.listDatei:

############# config ##################
#
# set base_path    /var/spool/apt-mirror
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

deb-i386 http://ubuntu.c3sl.ufpr.br/ubuntu/ trusty main restricted universe multiverse 
deb-i386 http://ubuntu.c3sl.ufpr.br/ubuntu/ trusty-updates main restricted universe multiverse 
deb-i386 http://ubuntu.c3sl.ufpr.br/ubuntu/ trusty-backports main restricted universe multiverse 
deb-i386 http://ubuntu.c3sl.ufpr.br/ubuntu/ trusty-security main restricted universe multiverse 

deb-amd64 http://ubuntu.c3sl.ufpr.br/ubuntu/ trusty main restricted universe multiverse 
deb-amd64 http://ubuntu.c3sl.ufpr.br/ubuntu/ trusty-updates main restricted universe multiverse 
deb-amd64 http://ubuntu.c3sl.ufpr.br/ubuntu/ trusty-backports main restricted universe multiverse 
deb-amd64 http://ubuntu.c3sl.ufpr.br/ubuntu/ trusty-security main restricted universe multiverse 

clean http://archive.ubuntu.com/ubuntu

Antwort1

Lösung:

Ändern Sie die letzte Zeile wie folgt:

clean http://ubuntu.c3sl.ufpr.br/ubuntu/

Erläuterung:

Das Problem liegt in Ihrer letzten Zeile, in der definiert wird, welches Repository bereinigt werden soll. cleannimmt den Namen des Repositorys an, aus dem entfernt werden soll:

## Parse config

open CONFIG, "<$config_file" or die("apt-mirror: can't open config file ($config_file)");
while (<CONFIG>)
{
    ## Here we detect the line starting with "clean" and process the URL
    if ( $config_line eq "clean" )
    {
        $config_line[0] =~ s[^(\w+)://][];
        $config_line[0] =~ s[/$][];
        $config_line[0] =~ s[~][%7E]g if get_variable("_tilde");
        $clean_directory{ $config_line[0] } = 1;
        next;
    }
    die("apt-mirror: invalid line in config file ($.: $config_line ...)");
}
## we store the results in the "clean_directory" variable, now we will
## loop through all of them:
foreach ( keys %clean_directory )
{
    process_directory($_) if -d $_ && !-l $_;
}
## and proceed to take the actions:
sub process_directory
{
    my $dir       = shift;
    my $is_needed = 0;
    return 1 if $skipclean{$dir};
    opendir( my $dir_h, $dir ) or die "apt-mirror: can't opendir $dir: $!";
    foreach ( grep { !/^\.$/ && !/^\.\.$/ } readdir($dir_h) )
    {
        my $item = $dir . "/" . $_;
        $is_needed |= process_directory($item) if -d $item && !-l $item;
        $is_needed |= process_file($item)      if -f $item;
        $is_needed |= process_symlink($item)   if -l $item;
    }
    closedir $dir_h;
    push @rm_dirs, $dir unless $is_needed;
    return $is_needed;
}

Die Verzeichnisse, in denen die Dateien gespeichert sind, haben die Form . /var/spool/apt-mirror/mirror/mirror.domainUm also zu entscheiden, welche Verzeichnisse bereinigt werden sollen, sollte es mit einem dieser Verzeichnisse übereinstimmen. Wenn nicht, tun Sie nichts.

Deshalb besteht die Lösung darin, die URL so zu ändern, dass sie mit den anderen übereinstimmt.

verwandte Informationen