Centos 4.18 eBPF编译环境搭建

Rocky/CentOS eBPF开发环境搭建指南 echo "5. BCC工具可用: $(test -f /usr/share/bcc/tools/execsnoop && echo "是" || echo "否")"echo "4. BTF支持: $(test -f /sys/kernel/btf/vmlinux && echo "已启用" || echo "未启用")"echo "6. libbpf版本: $(pkg-config --modversion libbpf 2>/dev/null || echo "未安装")" 阅读详情

背景:

本文主要解决centos7 4.18内核系统eBPF编译环境搭建

流程:

1.内核升级

关于如何在centos7安装4.18内核,这个网上有大把教程,不再赘述

2.编译套件升级

centos7 默认clang llvm版本较低,不识别-target=bpf命令,因此需要对clang进行升级

GCC升级
编译llvm,需要gcc至少为 5.1版本,centos默认安装的是 gcc 4.8.5。
yum install centos-release-scl 
yum install devtoolset-7 
当前登陆session生效 
scl enable devtoolset-7 
bash source /opt/rh/devtoolset-7/enable
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bash_profile 
source /opt/rh/devtoolset-7/enable
安装cmake
https://github.com/Kitware/CMake/releases/download/v3.14.0/cmake-3.14.0.tar.gz
tar -zxvf cmake-3.14.0.tar.gz
cd cmake-3.14.0
./bootstrap
make
make install
安装clang9 这个步骤非常耗时 预计3+小时
git clone https://github.com/llvm/llvm-project.git
cd llvm-project
git checkout origin/release/9.x
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi" -G "Unix Makefiles" ../llvm
make
make install

3.libbpf库

安装libelf zlib
yum install -y elfutils-libelf-devel
安装libbpf

git clone https://github.com/libbpf/libbpf
cd libbpf/src
make
make install

至此,环境搭建完成,愉快的Coding

Centos7 eBPF开发环境搭建 CentoseBPF开发环境搭建 阅读详情

相关推荐

Centos7环境下eBPF开发环境搭建实战指南

本文详细介绍了在CentOS7环境下搭建eBPF开发环境的实战指南,包括内核升级、工具链配置、LLVM编译等关键步骤。针对金融行业等仍在使用CentOS7的场景,提供了从内核版本选择到第一个eBPF程序验证的完整解决方案,帮助开发者高效构建稳定的eBPF开发环境。

weixin_30342209的博客 412

libbpf-devel-0.4.0-1.el8.i686.rpm

离线安装包,亲测可用

CentOS7下从源码构建eBPF开发环境:BCC与bpftrace实战指南

本文详细介绍了在CentOS7系统上从源码构建eBPF开发环境的完整流程,包括内核升级、LLVM/Clang工具链配置、BCC与bpftrace的编译安装及常见问题解决方案。通过实战指南帮助开发者克服版本陈旧问题,搭建高性能的eBPF开发环境,适用于网络监控、性能分析和安全监控等场景。

weixin_29233333的博客 561

Centos内核升级解决eBPF脚本问题

最近在进行eBPF相关的尝试,在centos7中执行eBPF脚本时遇到如下错误,从网上找到原因,是因为kernel和kernel-devel工具版本不一致导致的。

咖啡男孩之SRE之路 2043

BPF学习笔记(三)--BPF示例程序

上一篇文章中BPF的例子是以BCC的整体框架为基础,本篇介绍一下基于libbpf库函数为基础,结合内核中的bpf的sample为基础编写一个BPF的程序,本篇介绍是以《linux-observability-with-bpf》这本书第二章的例子为基础,由于内核版本的不同,本篇介绍是以Linux5.16内核为基础,Linux5.16内核中的接口函数与书中的给到的程序案例有较大的差别。2)随着bpf和内核版本的不断变化,参考本文时需要重点关注不同的内核版本、bpftool、gcc等各类工具的版本。

frankzfz的专栏 2963

Linux eBPF介绍(二)

作为 eBPF 最重大的改进之一,一次编译到处执行(简称 CO-RE)解决了内核数据结构在不同版本差异导致的兼容性问题。不过,在使用 CO-RE 之前,内核需要开启和这两个编译选项。

chi's blog 1068

eBPF动手实践系列二:构建基于纯C语言的eBPF项目

一文详解如何仅依赖于kernel-devel和kernel-headers等rpm包进行纯c语言的eBPF程序的编译和使用。

科技很有意思 1126

CentOS7eBPF开发环境搭建避坑指南:从内核升级到第一个Hello World

本文详细介绍了在CentOS7系统下搭建eBPF开发环境的完整流程,从内核升级到工具链配置,再到第一个Hello World程序的编写与运行。针对生产环境中常见的兼容性问题,提供了内核版本升级、工具链优化等实用解决方案,帮助开发者快速构建稳定的eBPF开发环境。

weixin_29228203的博客 99

eBPF生态探秘:bcc与bpftrace在CentOS7上的协同应用与创新实践

本文深入探讨了eBPF生态中bcc与bpftrace在CentOS7上的协同应用与创新实践。通过详细的环境搭建指南、工具链对比和实战案例,展示了如何利用这两大工具实现高效系统监控、网络分析和性能调优,为开发者提供全方位的观测能力。

weixin_29279047的博客 1037

手把手教你用CentOS7搭建eBPF开发环境:从零开始到运行第一个BPF程序

本文详细指导如何在CentOS7系统上搭建eBPF开发环境,从内核升级到运行第一个BPF程序。涵盖关键组件安装、内核头文件处理及常见问题解决方案,帮助开发者快速掌握eBPF开发的核心技术要点。

weixin_30664051的博客 371

ebpf字节码的加载过程(三)

添加kernel-src/sample/bpf/bpf_load.h(头文件搜索目录在makefile中指定了),把sample/bpf/bpf_load.c和自己的user_load.c文件通过Makefile编译出一个monitor-exec程序,负责加载elf格式的.o文件。《2》int load_bpf_file(char *path)、read_trace_pipe()等用户空间函数在bpf_load.c中定义。《3》在bpf_load.c中我们看看load_bpf_file()做了啥。

u013237642的博客 911

TC网络带宽控制(包含与ebpf结合方案)

实验环境为centos8。tc是一个很强大的网络管理工具,比如增加网络延迟、带宽流量管理等,本篇将基于流量管理来详细讲解下相关功能。,用来存放需要处理的数据包。基于队列类型有相应的规则,可以通过man tc来查看。,比如针对流量的htb qdisc,也会有很多种类别。比如限制 100m带宽的,1000m带宽的,他们属于不同的类别。类别必需要挂靠在qdisc 上。,filter同样需要挂靠在qdisc上,由filter定义数据包对应哪个class,并应用相应的规则。

865

eBPF零证书捕获TLS流量:原理、部署与实战排查指南

TLS(传输层安全协议)是保障网络通信安全的基石,它通过加密技术保护数据传输的机密性和完整性。其核心原理是在客户端与服务器之间建立加密通道,防止中间人攻击和数据窃取。在微服务架构和云原生环境中,TLS加密流量的可观测性成为运维与安全排查的刚需。传统基于中间人(MITM)证书的解密方案侵入性强且部署复杂,难以适应生产环境。eBPF(扩展伯克利包过滤器)技术通过在内核安全运行探针程序,实现了对系统行为的深度可观测。基于eBPF的零证书捕获方案,如eCapture,无需安装根证书或修改应用,可直接从TLS库(如O

ainixi7099的博客 395

CentOS 8发布|CentOS 8下载链接

今天,CentOS 8 官方正式发布了! CentOS 完全遵守 Red Hat 的再发行政策,并且致力与上游产品在功能上完全兼容。 该版本还包含全新的 CentOS Streams ,Centos Stream 是一个滚动发布的 Linux 发行版,它介于 Fedora Linux的上游开发和 RHEL 的下游开发之间而存在。你可以把 CentOS Streams 当成是用来体验最新红帽...

智识帮的博客 7913

CentOS 8 官方正式发布了!

CentOS 8官方正式发布了!CentOS 完全遵守 Red Hat 的再发行政策,并且致力与上游产品在功能上完全兼容。CentOS 对组件的修改主要是去除 Red Hat 的商标及美工图。该版本还包含全新的RHEL upstream, CentOS Streams。 官方中文的发行说明:https://wiki.centos.org/Manuals/ReleaseNotes/CentOS...

那杯热咖啡 5万+

linux内核需要升级,Linux kernel 4.18达到了使用寿命,用户需要升级到Linux 4.19

著名的Linux内核维护者Greg Kroah-Hartman宣布Linux 4.18内核系列的生命周期结束,敦促用户尽快将他们的发行版升级到更新的内核。由Linux Liny Torvalds于2018年8月12日发布,Linux 4.18内核系列为32位ARM架构引入了Spectre Variant 1和Spectre Variant 2缓解,为ARM64(AArch64)和ARMv8架构引入...

weixin_39717598的博客 739

CentOS 8 正式发布

转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net] 本文地址:https://www.oschina.net/news/110111/centos-8-released CentOS 8 官方正式发布了!!!CentOS 完全遵守 Red Hat 的再发行政策,并且致力与上游产品在功能上完全兼容。CentOS 对组件的修改主要是去除 Red...

weixin_30505043的博客 833
上一篇: eBPF开发指南
下一篇: eBPF-AntiRootkit
SenberHu
博客等级 码龄4年 4粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值