☰
ubuntu20.04上安装ebpf
2026/10/16 3:03:31 网站建设 项目流程

目录

安装

1 确认你的操作系统是ubuntu20.04.06

2 下载并安装zlib1g-dev libelf-dev linux-headers-$(uname -r)-generic

3 安装llvm和clang

4 安装libbpf-dev和bpfcc-tools

验证

1 验证BPF内核特性

2 验证BTF

3 验证BCC工具是否可用

4 验证工具链clang和bpftool版本


安装

1 确认你的操作系统是ubuntu20.04.06

如果版本太低,即使是20.04.x(x<3),也可能安装失败

2 下载并安装zlib1g-dev libelf-dev linux-headers-$(uname -r)-generic

#新建一个文件夹并进入 apt-rdepends zlib1g-dev | grep -v "^ " | sort -u > zlib1g-dev-depend.txt xargs -a zlib1g-dev-depend.txt -I {} apt download {}
#新建一个文件夹并进入 apt-rdepends libelf-dev | grep -v "^ " | sort -u > libelf-dev-depend.txt xargs -a libelf-dev-depend.txt -I {} apt download {}
#新建一个文件夹并进入 apt-rdepends linux-headers-5.15.0-67-generic | grep -v "^ " | sort -u > linux-headers-5.15.0-67-generic-depend.txt xargs -a linux-headers-5.15.0-67-generic-depend.txt -I {} apt download {}

然后依次在这3个文件夹里执行:

sudo dpkg -i *.deb

3 安装llvm和clang

没有clang就无法编译bpf程序。这里建议安装llvm12和clang12.因为低版本clang编译bpf程序可能失败。
但是安装完毕后,/usr/bin/下只有clang-12,没有clang。这里建议使用update-alternatives建立一个/usr/bin/clang的链接:
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-12 12
指令最后那个12的作用是指定clang-12在软连接的次序。假如你在同一个操作系统上既安装了clang-11,又安装了clang-12和clang-13,并且用update-alternatives把它们的次序设置为11,12,13,则操作系统调用clang时,会优先调用次序最大的clang-13


4 安装libbpf-dev和bpfcc-tools

#新建一个文件夹并进入 apt-rdepends libbpf-dev | grep -v "^ " | sort -u > libbpf-dev-depend.txt xargs -a libbpf-dev-depend.txt -I {} apt download {}
#新建一个文件夹并进入 apt-rdepends bpfcc-tools | grep -v "^ " | sort -u > bpfcc-tools-depend.txt xargs -a bpfcc-tools-depend.txt -I {} apt download {}

分别进入这2个文件夹,安装:

sudo dpkg -i *.deb

安装完毕

验证

检查安装是否成功:


1 验证BPF内核特性


sudo bpftool feature probe kernel

2 验证BTF


ls -lh /sys/kernel/btf/vmlinux

3 验证BCC工具是否可用


sudo execsnoop-bpfcc

4 验证工具链clang和bpftool版本


clang --version
bpftool --version

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询