如何更新 Debian 4.0 Etch 的 sources.list?

如何更新 Debian 4.0 Etch 的 sources.list?

我正在尝试更新我/etc/apt/sources.list的 VPS。运行时,apt-get update我收到各种 404 未找到信息,例如:

Failed to fetch http://debian.newdream.net/dists/etch/main/binary-amd64/Packages.gz  404 Not Found
Failed to fetch http://security.debian.org/dists/etch/updates/main/binary-amd64/Packages.gz  404 Not Found [IP: 149.20.20.6 80]
Failed to fetch http://www.ksplice.com/apt/dists/etch/ksplice/binary-amd64/Packages.gz  404 Not Found

当我审视http://www.debian.org/releases/etch/,我没有看到任何有关档案的信息。我在 archive.debian.org 内,但我对如何遵循其说明/修改源列表有点困惑。以下是当前列表的内容:

deb http://debian.di.newdream.net/ etch ndn
deb http://www.ksplice.com/apt etch ksplice
deb http://debian.newdream.net etch main non-free contrib
deb http://www.backports.org/debian/ etch-backports main
deb http://archive.debian.org/debian-volatile etch/volatile main contrib non-free
deb http://security.debian.org/ etch/updates main
deb http://debian.dc-uoit.net/debian-multimedia/ etch main

从我在存档 README 上读到的内容来看,我认为格式应该是这样的:

deb http://archive.debian.org/debian-security dists/etch/updates/ main

此外,在注释掉源文件中的大多数(如果不是全部)行之后,我仍然会收到相同的错误。是否有需要运行的命令来清除缓存?

答案1

Etch 现已超过生命周期结束前 2 个版本。由于不再受支持,因此没有安全支持。

对于主档案,请使用如下行。

deb http://archive.debian.org/debian etch main

您应该升级到 lenny,然后挤压。

安全更新、反向移植、多媒体和 ksplice 档案可能已消失。

答案2

man aptman apt-cacheman apt-get提供有关包缓存维护的信息。

更新文件后/etc/apt/sources.list,请记住软件包信息存储在各个地方,并且仅运行apt-get cleanapt-get autoclean不会清除这些有问题的软件包(对于未找到的软件包,您将继续收到 404 错误)。您需要从以下位置清除软件包缓存:

   /var/lib/apt/lists/
      Storage area for state information for each package resource specified in
      sources.list(5) Configuration Item: Dir::State::Lists.

如果您这样做,ls /var/lib/apt/lists/您将看到导致 404 的资源列表。 中可能还有软件包信息/var/lib/apt/lists/partial/。您可能需要删除(如 中rm foo-bar)导致 404 的软件包。小心不要删除正在运行的软件包。

然后如果你使用 cd 进入,/etc/apt你会注意到sources.list.d。在我的情况下,我只是运行并删除了所有损坏的软件包(当然,sources.list.d/*在验证了的内容之后)。sources.list.d/*

随后,您可以按顺序运行apt-get check、、apt-get autoclean和,apt-get update然后就应该可以出结果了。

如果您对列表文件中包的命名约定有疑问,您可以随时执行man sources.list

相关内容