Ubuntu 上正确安装 Kali 虚拟机、Docker 与 kail 工具指南

一、不要在 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-headlesskali-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 安装

如果你已经安装了 kubectlkrew

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 主系统。对于安全测试工具,也应只在自己拥有授权的环境中使用,避免对第三方系统造成风险。

相关推荐
原来是猿3 小时前
Linux UDP Socket 编程入门:Echo Server/Client实现
linux·运维·udp
中微子3 小时前
突然爆火的Warp 终端,开源1天破 4w Stars
linux·人工智能·开源
一袋米扛几楼983 小时前
【报错问题】解决 Vercel 部署报错:Express 类型失效与 TypeScript 2349/2339/2769 错误排查
ubuntu·typescript·express
计算机安禾3 小时前
【Linux从入门到精通】第33篇:数据库MySQL/MariaDB安装与基础调优
linux·数据库·mysql
筱_智4 小时前
Docker学习-超详细-通俗易懂(从入门到精通)
学习·docker·容器
楼兰公子4 小时前
读取rpi摄像头
linux·服务器·算法
EAIReport4 小时前
Docker与K8s核心解析:共同性、差异性及实战适配指南
docker·容器·kubernetes
MIXLLRED4 小时前
Ubuntu22.04 + ROS2 Humble + RealSense D435i 部署VINS-Fusion视觉惯性SLAM
ubuntu·slam·d435i·ros2·humble·vins
李景琰4 小时前
Debian12安装配置Mqtt之EMQX
linux·运维·服务器