一、不要在 Ubuntu 中直接添加 Kali 软件源
错误示例:
bash
# 不推荐
sudo add-apt-repository "deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware"
sudo apt update
sudo apt install kali-linux-default
这种方式的问题在于,Ubuntu 和 Kali 虽然都基于 Debian 体系,但它们的软件包版本、依赖关系、发布节奏并不相同。一旦混用软件源,APT 可能会把 Ubuntu 的核心包替换成 Kali 的包,导致桌面环境、网络、驱动甚至系统启动出现问题。
结论:不要在 Ubuntu 主系统中混入 Kali APT 源。
二、方案一:使用 VirtualBox 安装 Kali Linux
这是最推荐的方式。Kali 官方文档也把 VirtualBox 虚拟机作为常见使用方式之一,因为它和宿主 Ubuntu 隔离,可以使用快照,也方便回滚。(Kali Linux)
1. 在 Ubuntu 上安装 VirtualBox
bash
sudo apt update
sudo apt install -y virtualbox p7zip-full
p7zip-full 用来解压 Kali 官方提供的 .7z 虚拟机镜像。
2. 下载 Kali 官方镜像
建议下载 Kali 官方 VirtualBox 镜像 ,而不是从第三方网站下载。Kali 官方提醒,镜像应来自官方来源,并建议校验 SHA256,避免拿到被篡改的系统镜像。(Kali Linux)
下载时选择:
text
Kali Linux → Virtual Machines → VirtualBox
Kali 官方也提供预构建的 VMware 和 VirtualBox 虚拟机镜像,通常比自己从 ISO 手动安装更快。(Kali Linux)
3. 解压并导入 VirtualBox
假设下载文件名类似:
text
kali-linux-2026.1-virtualbox-amd64.7z
解压:
bash
7z x kali-linux-*-virtualbox-amd64.7z
然后打开 VirtualBox:
bash
virtualbox
在 VirtualBox 中选择:
text
Machine → Add
找到解压目录中的 .vbox 文件并导入。
4. 启动后更新 Kali
进入 Kali 后,先更新系统:
bash
sudo apt update
sudo apt full-upgrade -y
如果你需要默认工具集,可以安装:
bash
sudo apt install -y kali-linux-default
Kali 的 metapackage 用来一次安装一组工具,例如 kali-linux-default 会安装默认工具集。(Kali Linux)
三、方案二:使用 Docker 运行 Kali 命令行环境
如果你不需要完整桌面,只是想临时运行一些 Kali 工具,Docker 会更轻量。
1. 安装 Docker
Docker 官方推荐在 Ubuntu 上通过 Docker 的 APT 仓库安装 Docker Engine。(Docker Documentation)
bash
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
验证 Docker:
bash
sudo docker run hello-world
2. 拉取 Kali Docker 镜像
Kali 官方 Docker 文档使用的是 kalilinux/kali-rolling 镜像。(Kali Linux)
bash
sudo docker pull docker.io/kalilinux/kali-rolling
启动容器:
bash
sudo docker run --name kali -it docker.io/kalilinux/kali-rolling /bin/bash
进入容器后,你会看到 Kali 的命令行环境。
3. 安装 Kali 工具
Kali Docker 镜像默认不带完整工具集,官方文档说明需要手动安装工具包。(Kali Linux)
在容器内执行:
bash
apt update
apt install -y kali-linux-headless
如果只需要某个工具,可以单独安装,例如:
bash
apt update
apt install -y nmap
Docker Hub 上的 Kali 镜像说明也提示:kali-rolling 默认不包含工具,可以安装单个包、kali-linux-headless 或 kali-linux-large。(Docker Hub)
4. 重新进入 Kali 容器
如果退出了容器:
bash
exit
下次可以这样重新进入:
bash
sudo docker start kali
sudo docker attach kali
删除容器:
bash
sudo docker rm kali
删除镜像:
bash
sudo docker rmi docker.io/kalilinux/kali-rolling
四、虚拟机和 Docker 怎么选?
| 方案 | 适合场景 | 优点 | 缺点 |
|---|---|---|---|
| VirtualBox | 想完整体验 Kali 桌面和工具 | 隔离性好、可快照、体验完整 | 占用资源更多 |
| Docker | 临时使用 Kali 命令行工具 | 轻量、启动快、易清理 | 不适合完整桌面,不支持普通 systemd 场景 |
| 直接加 Kali 源 | 不推荐 | 看似简单 | 高概率破坏 Ubuntu 依赖 |
我的建议是:
text
学习 Kali / 做实验:VirtualBox
临时跑工具:Docker
长期主力安全测试环境:独立 Kali 虚拟机或独立机器
五、如果你说的是 kail,而不是 Kali
还有一种可能:你想安装的不是 Kali Linux ,而是 kail。
kail 是一个 Kubernetes 日志查看工具,用来按 Pod、Deployment、Service 或 Label 跟踪日志。它的 GitHub 项目提供了 Homebrew、Krew 和二进制下载等安装方式。(GitHub)
方式一:通过 Krew 安装
如果你已经安装了 kubectl 和 krew:
bash
kubectl krew install tail
kubectl tail -h
方式二:下载二进制文件
GitHub Release 页面显示当前最新版本为 v0.17.4。(GitHub)
bash
cd /tmp
curl -L -o kail.tar.gz \
https://github.com/boz/kail/releases/download/v0.17.4/kail_v0.17.4_linux_amd64v2.tar.gz
tar -xzf kail.tar.gz
sudo install -m 0755 kail /usr/local/bin/kail
kail --help
常用命令:
bash
# 查看当前 namespace 日志
kail
# 查看指定 namespace
kail -n default
# 按 deployment 查看
kail --deploy nginx
# 按 label 查看
kail -l app=my-app
# 查看最近 10 分钟日志
kail --since 10m
六、总结
在 Ubuntu 上使用 Kali,最重要的是不要把 Kali 源直接混进 Ubuntu。正确姿势是:
text
完整 Kali 环境:VirtualBox
轻量命令行环境:Docker
Kubernetes 日志工具:kail
这样既能满足学习和实验需求,又不会破坏 Ubuntu 主系统。对于安全测试工具,也应只在自己拥有授权的环境中使用,避免对第三方系统造成风险。