web-dev-qa-db-fra.com

test apt-mirror

Je veux configurer un apt-mirror local sur mon serveur Ubuntu 16.04. Dans mon mirror.list, Je n'ai téléchargé que les packages principaux et restreints, car je n'ai pas assez d'espace pour tout cela.

Après avoir téléchargé 20 Go de paquets, j'ai créé un slink dans /var/www/html nommé ubuntu pour que je puisse accéder aux packages via Apache. Et finalement j'ai édité le sources.list sur le client et modifié fr.archive.ubuntu.com avec mon IP. Mais quand je lance apt-get update, sa montre ceci:

enter image description here

Et l'installation d'un package donne ceci:

enter image description here

Quelqu'un peut-il m'aider? Merci d'avance.

1
Gurpreet.S

Si tu utilises apt-mirror v.0.5.1-1 comme moi. Ce problème peut être résolu en ajoutant DEP-11 téléchargement d'index dans /usr/bin/apt-mirror après line 611 du fichier.

voici le code.

######################################################################################
## 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( / +/, $1 );
                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 \"$1\" 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;
}

Exécutez ensuite à nouveau la mise à jour de votre serveur miroir. Ça devrait marcher.

1
eetsurt