如何更新 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
此外,在註釋掉源文件中的大部分行(如果不是所有行)之後,我仍然會遇到相同的錯誤。是否需要執行命令來清除記憶體?
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
.
Etch 現在是生命結束後的 2 個版本。沒有安全支持,因為它不受支持。
對於主記憶體檔使用這樣的行。
deb http://archive.debian.org/debian etch main
你應該升級到lenny,然後擠壓。
安全更新、反向移植、多媒體和 ksplice 檔案可能已經消失了。