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