我最近尝试安装 Docker,但自从安装后我就无法再更新 kali-linux 了。
这是我输入“sudo apt update”后的输出
Hit:1 http://dl.google.com/linux/chrome/deb stable InRelease
Ign:2 https://download.docker.com/linux/debian kali-rolling InRelease
Err:4 https://download.docker.com/linux/debian kali-rolling Release
404 Not Found [IP: 13.227.73.95 443]
Hit:3 http://mirrors.ocf.berkeley.edu/kali kali-rolling InRelease
Reading package lists... Done
E: The repository 'https://download.docker.com/linux/debian kali-rolling Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
有什么建议么?谢谢!
答案1
在您的来源中使用debian
代号:
编辑你的/etc/apt/sources.list
如下:
deb [arch=amd64] https://download.docker.com/linux/debian buster stable
或使用以下命令:
printf "%s\n" "deb [arch=amd64] https://download.docker.com/linux/debian buster stable" |\
sudo tee /etc/apt/sources.list.d/docker-ce.list
添加 gpg 密钥:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
安装docker-ce
:
sudo apt update
sudo apt install docker-ce
更新
我已经更新了Kali Linux 文档,现在您可以安全地添加 Debian docker-ce 存储库,如本答案中所述。安装方法如下:
在 Kali Linux 上安装 docker-ce
docker-ce 可以使用 Debian buster 代号从 Docker 存储库安装。
将 Docker 存储库添加到您的sources.list
printf "%s\n" "deb [arch=amd64] https://download.docker.com/linux/debian bullseye stable" |\
sudo tee /etc/apt/sources.list.d/docker-ce.list
导入 gpg 密钥:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
指纹检查:
sudo apt-key fingerprint 0EBFCD88
安装最新版本的 docker-ce:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
参考
答案2
需要记住的一件事是,Kali Linux 基于 Debian,因此我们需要使用 Debian 当前的稳定版本(尽管 Kali Linux 是滚动发行版)。在撰写本文时(2021年12月), 它是 ”靶心”
正如您所看到的,Debian 的稳定版本(截至 2023 年 4 月)是bullseye
,而不是kali-rolling
。当您访问此网址时https://download.docker.com/linux/debian/dists/,你甚至不会kali-rolling
在那里看到任何东西。
因此,如果您想消除错误,您应该打开这些文件:
/etc/apt/sources.list.d/docker.list
/etc/apt/sources.list.d/docker-ce.list
并将所有出现的 替换kali-rolling
为bullseye
。
例如,就我而言,我有这样的:
/etc/apt/sources.list.d/docker.list
:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg]
https://download.docker.com/linux/debian bullseye stable
/etc/apt/sources.list.d/docker-ce.list
:
deb https://download.docker.com/linux/debian bullseye stable
答案3
使用官方(通常是首选)安装脚本而不编辑系统文件的一种方法是注入一个选项kali-linux
(或任何其他发行版)并将其动态链接到首选的 docker 版本:
curl -sSL https://get.docker.com |\
sed 's/case "$dist_version" in/case "$dist_version" in kali-rolling)dist_version="bullseye";;/g' |\
sudo sh
这将case "$dist_version" in
用以下代码(为光学添加缩进)替换确定 Debian 版本的安装脚本函数的行,并添加 Kali 选项:
case "$dist_version" in
kali-rolling)
dist_version="bullseye"
;;
进行相应调整dist_version="bullseye"
以指定要模仿的不同发行版。
根据需要执行常用命令,使 Kali 用户能够在没有 docker 的情况下运行 dockersudo
并激活 docker 服务:
usermod -aG docker kali
systemctl enable docker