ubuntu20.4安装bcc(ebpf Compiler Collection)
前情提要
- 更新时间 2023.3.30,这个很关键,bcc实时在维护
- 主要内容:一方面是bcc的安装,另一方面是bcc安装过程的探索
- 参考网址
官方网址
安装
- 确认自己ubuntu的版本,不一定和我一样,但是一定要注意版本问题
- 安装方式有两种
- 第一种 :直接类似于下载软件进行安装(我失败了,有需要参考上述网址)
- 第二种:使用源码安装
源码安装
- 安装依赖包
# Trusty (14.04 LTS) and older
VER=trusty
echo "deb http://llvm.org/apt/$VER/ llvm-toolchain-$VER-3.7 main
deb-src http://llvm.org/apt/$VER/ llvm-toolchain-$VER-3.7 main" | \
sudo tee /etc/apt/sources.list.d/llvm.list
wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get update
# For Bionic (18.04 LTS)
sudo apt-get -y install bison build-essential cmake flex git libedit-dev \
libllvm6.0 llvm-6.0-dev libclang-6.0-dev python zlib1g-dev libelf-dev libfl-dev python3-distutils
# For Focal (20.04.1 LTS)
sudo apt install -y bison build-essential cmake flex git libedit-dev \
libllvm12 llvm-12-dev libclang-12-dev python zlib1g-dev libelf-dev libfl-dev python3-distutils
# For Hirsute (21.04) or Impish (21.10)
sudo apt install -y bison build-essential cmake flex git libedit-dev \
libllvm11 llvm-11-dev libclang-11-dev python3 zlib1g-dev libelf-dev libfl-dev python3-distutils
# For Jammy (22.04)
sudo apt install -y bison build-essential cmake flex git libedit-dev \
libllvm14 llvm-14-dev libclang-14-dev python3 zlib1g-dev libelf-dev libfl-dev python3-distutils
# For other versions
sudo apt-get -y install bison build-essential cmake flex git libedit-dev \
libllvm3.7 llvm-3.7-dev libclang-3.7-dev python zlib1g-dev libelf-dev python3-distutils
# For Lua support
sudo apt-get -y install luajit luajit-5.1-dev
注意:直接拿过去运行即可,系统会自动匹配需要的包,不然后面make会出错,我在这里卡了很久,就是自己选择里面的一种出现问题
- 下载源码并安装
git clone https://github.com/iovisor/bcc.git
mkdir bcc/build; cd bcc/build
cmake ..
make
sudo make install
cmake -DPYTHON_CMD=python3 .. # build python3 binding
pushd src/python/
make
sudo make install
popd
同样,git clone的时候可能会失败,多试几次。
如果make失败,这里推荐先重试,不行的话十之八九是包的问题
- 至此,安装基本完成
小小的测试一下
- bcc已经为我们提供了测试包bcc/examples/hello_world.py
- 运行
sudo python3 helloWorld.py
需要注意的是,要注意你是安装到python几当中,然后才能使用
最后,我想谈一下我踩的坑
- 尽量保证自己的liunx比较新
- 然后,最好参考官方文档,因为bcc一直在更新维护
- 其中有常见错误
- 各个版本的安装方法
- 测试方法
- 学习教程等等
- 最后就是,仔细分析