apt-mirror 测试

apt-mirror 测试

我想在我的 16.04 Ubuntu 服务器上配置本地 apt-mirror。在我的 中mirror.list,我只下载了主要软件包和受限软件包,因为我没有足够的空间容纳所有软件包。

下载了 20gb 的软件包后,我在 ubuntu 中创建了一个名为 slink,/var/www/html以便我可以通过 apache 访问软件包。最后,我sources.list在客户端上编辑了 ,并fr.archive.ubuntu.com用我的进行了更改IP。但是当我运行 时apt-get update,它显示以下内容:

在此处输入图片描述

安装包后会出现以下情况:

在此处输入图片描述

有人能帮帮我吗?提前谢谢了。

答案1

如果你apt-mirror v.0.5.1-1像我一样使用。可以通过在文件后面添加DEP-11索引下载来解决此问题。/usr/bin/apt-mirrorline 611

这是代码。

######################################################################################
## 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;
}

然后再次运行更新镜像服务器。它应该可以工作。

相关内容