Ubuntu安装BCC
<h1 id="ubuntu安装bcc">Ubuntu安装BCC</h1><h2 id="教程">教程</h2>
<p>官方文档</p>
<h2 id="安装">安装</h2>
<p>这里官方文档中首先讲到的是二进制文件的安装,直接通过apt进行安装</p>
<pre><code class="language-shell">sudo apt-get install bpfcc-tools linux-headers-$(uname -r)
</code></pre>
<p>这里安装好后,对于<code>/usr/sbin</code>目录下的部分工具,使用时会报编译错误,无法编译BPF代码</p>
<p>对于低版本的类型的Ubuntu系统,通过以下方式,可以实现安装,并成功使用</p>
<pre><code class="language-shell">sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4052245BD4284CDD
echo "deb https://repo.iovisor.org/apt/$(lsb_release -cs) $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/iovisor.list
sudo apt-get update
sudo apt-get install bcc-tools libbcc-examples linux-headers-$(uname -r)
</code></pre>
<p>具体的还需要自行尝试。</p>
<p>我使用的是最新的<code>Ubuntu 20.04</code>版本,上述方法中的<code>lsb_release -cs</code>在网站中是404,不能安装。</p>
<p>在官方的GitHub issue里对此提到,推荐的安装方法是通过源码进行编译安装,因为<code>repo.iovisor.org</code>上的版本老旧,且存在bug。</p>
<p><img src="https://gitee.com/Joshua-Yu/typora-upload-image/raw/master/img/image-20210801160606970.png" alt="image-20210801160606970" loading="lazy"></p>
<p>最后安装官方教程采用源码安装</p>
<p>首先安装依赖</p>
<pre><code class="language-shell"># 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
# For Eoan (19.10) or Focal (20.04.1 LTS)
sudo apt install -y bison build-essential cmake flex git libedit-dev \
libllvm7 llvm-7-dev libclang-7-dev python zlib1g-dev libelf-dev libfl-dev
# 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
# For Lua support
sudo apt-get -y install luajit luajit-5.1-dev
</code></pre>
<p>之后从GitHub克隆代码,进行安装</p>
<pre><code class="language-shell">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
</code></pre>
<p>安装成功后,在<code>/usr/share/bcc/tools</code>下可以看到官方提供的工具,这里我挑选的是tcptop进行测试</p>
<p>直接输入<code>tcptop</code>运行</p>
<p><img src="https://gitee.com/Joshua-Yu/typora-upload-image/raw/master/img/image-20210801161146900.png" alt="image-20210801161146900" loading="lazy"></p>
<p>看到抓取到了tcp报文,即成功完成安装</p><br><br>
来源:https://www.cnblogs.com/JoshuaYu/p/15086912.html
頁:
[1]