apt-mirror testing

1

Eu quero configurar um apt-mirror local no meu servidor Ubuntu 16.04. No meu mirror.list , eu baixei apenas os pacotes principais e restritos, já que não tenho espaço suficiente para tudo isso.

Depois de baixar 20gb de pacotes eu criei um slink em /var/www/html chamado ubuntu para que eu possa acessar os pacotes via apache. E finalmente editei o sources.list no cliente e alterei fr.archive.ubuntu.com com meu IP . Mas quando eu executo apt-get update , isso mostra isso:

E a instalação de um pacote fornece isso:

Alguém por favor pode me ajudar? Agradecemos antecipadamente.

    
por Gurpreet.S 28.05.2016 / 14:49

1 resposta

1

Se você usa apt-mirror v.0.5.1-1 como eu. Esse problema pode ser corrigido adicionando DEP-11 download do índice em /usr/bin/apt-mirror após line 611 do arquivo.

aqui está o código.

######################################################################################
## DEP-11 index download

%urls_to_download = ();

sub find_dep11_files_in_release
{
    # Look in the dists/$DIST/Release file for the DEP-11 files that belong
    # to the given component and architecture.

    my $dist_uri  = shift;
    my $component = shift;
    my $arch      = shift;
    my ( $release_uri, $release_path, $line ) = '';

    $release_uri  = $dist_uri . "Release";
    $release_path = get_variable("skel_path") . "/" . sanitise_uri($release_uri);

    unless ( open STREAM, "<$release_path" )
    {
        warn( "Failed to open Release file from " . $release_uri );
        return;
    }

    my $checksums = 0;
    while ( $line = <STREAM> )
    {
        chomp $line;
        if ($checksums)
        {
            if ( $line =~ /^ +(.*)$/ )
            {
                my @parts = split( / +/,  );
                if ( @parts == 3 )
                {
                    my ( $sha1, $size, $filename ) = @parts;
                    if ( $filename =~ m{^$component/dep11/(Components-${arch}\.yml|icons-[^./]+\.tar)\.gz$} )
                    {
                        add_url_to_download( $dist_uri . $filename, $size );
                    }
                }
                else
                {
                    warn("Malformed checksum line \"\" in $release_uri");
                }
            }
            else
            {
                $checksums = 0;
            }
        }
        if ( not $checksums )
        {
            if ( $line eq "SHA256:" )
            {
                $checksums = 1;
            }
        }
    }
}

print "Processing DEP-11 indexes: [";

foreach (@config_binaries)
{
    my ( $arch, $uri, $distribution, @components ) = @{$_};
    print "D";
    if (@components)
    {
        $url = $uri . "/dists/" . $distribution . "/";

        my $component;
        foreach $component (@components)
        {
            find_dep11_files_in_release( $url, $component, $arch );
        }
    }
}

print "]\n\n";

push( @index_urls, sort keys %urls_to_download );
download_urls( "dep11", sort keys %urls_to_download );

foreach ( keys %urls_to_download )
{
    s[^(\w+)://][];
    s[~][%7E]g if get_variable("_tilde");
    $skipclean{$_} = 1;
}

Em seguida, execute a atualização do seu servidor espelho novamente. Deve funcionar.

    
por eetsurt 07.06.2016 / 13:49