我们有一个离线网络,上面有一个 repo/镜像。但我不知道如何正确地将其添加到我的 sources.list 中

我们有一个离线网络,上面有一个 repo/镜像。但我不知道如何正确地将其添加到我的 sources.list 中

我一直在阅读有关如何设置本地网络存储库的教程。但这并不是我所拥有的 - 在我的例子中,已经有一个网络存储库 - 假设它位于此处:

http://netpc/repos/

文件夹结构内部如下所示(我只稍微扩展了一点,但是有很多文件夹/子文件夹看起来都非常具有 Ubuntu 风格):

/1604/
/1604/mirror
/1604/mirror/archive.ubuntu.com
/1604/mirror/archive.ubuntu.com/mwg-internal
/1604/mirror/archive.ubuntu.com/ubuntu
/1604/skel
/1604/var
...etc...

因此,根据我所读的内容,我认为我只需要更新我的/etc/apt/sources.list文件。我进行了备份,然后将以下内容添加到文件中:

# Adding local network repo
deb http://netpc/repos ./

然后我执行了以下命令:

sudo apt-get update

我得到了以下输出(由于是在另一台离线 PC 上,所以是手写输入的):

Ign:1 http://netpc/repos/1604/ ./ InRelease
Ign:2 http://netpc/repos/1604/ ./ Release
Ign:3 http://netpc/repos/1604/ ./ Packges
Ign:4 http://netpc/repos/1604/ ./ Translation-en_GB
Ign:5 http://netpc/repos/1604/ ./ Translation-en
Ign:3 http://netpc/repos/1604/ ./ Packages
         :
         :
Ign:5 http://netpc/repos/1604/ ./ Translation-en
Err:3 http://netpc/repos/1604/ ./ Packages
    404 Not Found
Ign:4 http://netpc/repos/1604/ ./ Translation-en_GB
Ign:5 http://netpc/repos/1604/ ./ Translation-en
         :
         :
W: the repository 'http://netpc/repos/1604 ./ Release' does not have a release file.
         :
         :
E: Failed to fetch http://netpc/repos/1604/./Packages   404  Not Found 

它尝试连接到网络上的其他存储库(但我们未连接到网络),因此它找不到像 gb.archive.ubuntu.com 这样的地方...

所以我希望我的系统忽略在线位置而只使用我们 LAN 上的一个“镜像”位置。

  • 为何我的设置不起作用(我错过了什么)?
  • 我需要采取什么步骤来解决这个问题并忽略其他基于互联网的位置?

更新

我已经根据两个答案更新了 sources.list - 我尝试了以下方法并获得了更好的结果:

# Main and restricted
deb http://netpc/repos/1604/mirror/archive.ubuntu.com/ubuntu xenial main restricted
deb http://netpc/repos/1604/mirror/archive.ubuntu.com/ubuntu xenial-updates main restricted
deb http://netpc/repos/1604/mirror/archive.ubuntu.com/ubuntu xenial-security main restricted
deb-src http://netpc/repos/1604/mirror/archive.ubuntu.com/ubuntu xenial main restricted
deb-src http://netpc/repos/1604/mirror/archive.ubuntu.com/ubuntu xenial-updates main restricted
deb-src http://netpc/repos/1604/mirror/archive.ubuntu.com/ubuntu xenial-security main restricted

# Universe
    :
# Multiverse
    :

然后重新运行sudo apt-get update

因此我无法输入所有的输出,但我已将主要错误放在了流程的最后:

E: Failed to fetch http://netpc/repos/1604/mirror/archive.ubuntu.com/ubuntu/dists/xenial/main/binary-i386/Packages 404  Not Found 
E: Failed to fetch http://netpc/repos/1604/mirror/archive.ubuntu.com/ubuntu/dists/xenial-updates/main/binary-i386/Packages 404  Not Found 
E: Failed to fetch http://netpc/repos/1604/mirror/archive.ubuntu.com/ubuntu/dists/xenial-security/main/binary-i386/Packages 404  Not Found 

所以看起来它找不到 i386 的东西(32 位),我不确定我是否关心,因为我使用的是 64 位......我想......

答案1

我不是专家,但我已经建立了自己的本地镜像并使其正常运行。

我对你添加到 sources.list 的行感到怀疑./。我的代码如下:

# updated for local mirror on 2/11/18

# local main & restricted sources

deb ssh://my-server/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu/ bionic main restricted
deb ssh://my-server/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
deb ssh://my-server/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu/ bionic-security main restricted

# local universe sources

deb ssh://my-server/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu/ bionic universe
deb ssh://my-server/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu/ bionic-updates universe
deb ssh://my-server/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu/ bionic-security universe

# local multiverse sources

deb ssh://my-server/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu/ bionic multiverse
deb ssh://my-server/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
deb ssh://my-server/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu/ bionic-security multiverse

我使用 ssh 而不是 http,但这不是我想要指出的区别。

我认为您需要编辑您的 sources.list 并在 URL 后添加适当的文本。

答案2

仅添加 LAN 存储库的基本 URL 是不够的。您需要指向apt存储库结构的相关部分,包括您正在使用的 Ubuntu 版本(按发布名称)。

替换源文件每一行中的基准 URL,但保留该行中的其余信息。

如果您使用的是 14.04 Trusty Tahr,您的/etc/apt/sources.list文件看起来如下所示:

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://gb.archive.ubuntu.com/ubuntu trusty main restricted
deb-src http://gb.archive.ubuntu.com/ubuntu trusty main restricted
...

更新后的文件看起来应该更像这样:

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://netpc/repos/1604/mirror/archive.ubuntu.com/ubuntu trusty main restricted
deb-src http://netpc/repos/1604/mirror/archive.ubuntu.com/ubuntu trusty main restricted
...

相关内容