Назад | Перейти на главную страницу

Как обновить sources.list для Debian 4.0 Etch?

Я пытаюсь обновить свой /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

Кроме того, после того, как я закомментировал большинство, если не все строки в исходном файле, я все еще получаю те же ошибки. Есть ли команда, которую нужно запустить, чтобы очистить кеш?

У Etch сейчас 2 релиза сверх конца жизни. Нет поддержки безопасности, потому что она не поддерживается.

Для основного архива используйте такую ​​строку.

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

Вы должны перейти на lenny, а затем сжать.

Обновления безопасности, резервные копии, мультимедиа и архивы ksplice, вероятно, исчезли.

man apt, man apt-cache, и man apt-get предоставить информацию об обслуживании кэширования пакетов.

После обновления /etc/apt/sources.list файл, имейте в виду, что информация о пакете хранится в разных местах, и что apt-get clean или apt-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.