文章目录

  • ubuntu 20.04 SystemTap安装
    • 安装依赖
    • 安装内核debug symbols(dbgsym)
    • 安装systemtap
    • 测试下hello world
    • 问题解决
      • 官方解决方法:
      • 关闭secure boot解决:

ubuntu 20.04 SystemTap安装

参考链接:

https://wiki.ubuntu.com/Kernel/Systemtap

安装依赖

sudo apt-get install elfutils
sudo apt-get install libdw-dev

安装内核debug symbols(dbgsym)

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C8CAB6595FDFF622codename=$(lsb_release -c | awk  '{print $2}')
sudo tee /etc/apt/sources.list.d/ddebs.list << EOF
deb http://ddebs.ubuntu.com/ ${codename}      main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-security main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-updates  main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-proposed main restricted universe multiverse
EOFsudo apt-get update
sudo apt-get install linux-image-$(uname -r)-dbgsym

安装systemtap

这里不能用sudo apt-get install systemtap去安装, 因为这样安装的是4.2版本的, 不支持这个内核, 除非更改为其他linux内核才行

我们这里下载4.6的源码包去安装

下载地址:

https://sourceware.org/systemtap/ftp/releases/systemtap-4.6.tar.gz/

# 创建个临时目录, 并解压缩源码包
mkdir ~/tmp
cd ~/tmp
tar -vxzf systemtap-4.6.tar.gz
cd systemtap-4.6/# 安装
./configure  #运行完看看有没有报错信息, 提示缺少依赖包之类的, 前面安装了依赖, 这里一般不会再报错了
sudo make install  # 等待一段时间, 安装完成再看

测试下hello world

#编写个hello world脚本 hello.stp
#! /usr/bin/env stap
probe oneshot { println("hello world") }# 运行脚本
sudo stap hello.stp#如果打印hello world表示安装成功
#如果提示stap-server之类的信息, 可能是UFEI secure boot引起的, 解决办法继续往后看

问题解决

可能运行hello world脚本后会提示stap-server之类的, 这个是因为secure boot启动方式, 为了安全, 需要一个stap-server来执行脚本,

官方解决方法:

sudo stap --list-servers=all

查看所有可用server, 我执行这个命令提示我这个版本不支持, 如果你也是这个问题, 就看我后面的方法

#根据上个命令的得到的服务名和端口, 来执行脚本
sudo stap --use-server=<name>:<port> hello.stp

关闭secure boot解决:

sudo mokutil --disable-validation  #会提示输入密码, 这里要记住你的密码, 重启后会验证密码
reboot

提示change secure boot, 选这项

安装提示输入密码, 关闭secure boot

启动, 左上角会提示insecure boot

#再启动后, 重新执行hello.stp
sudo stap hello.stp
#打印 hello world
#安装成功

ubuntu 20.04 SystemTap安装相关推荐

  1. Ubuntu 20.04上安装Git方法

    Git是世界上最受欢迎的分布式版本控制系统,被许多开源和商业项目使用.它使您可以与其他开发人员在项目上进行协作,跟踪代码更改,还原到上一阶段,创建分支等. Git最初是由Linux内核的创建者Linu ...

  2. ubuntu使用fail2ban_如何在Ubuntu 20.04上安装和配置Fail2ban

    暴露给Internet的任何服务都有遭受恶意软件攻击的风险. 例如,如果您在可公开访问的网络上运行服务,则攻击者可以使用暴力手段尝试登录您的帐户. Fail2ban是一种工具,可通过监视服务日志中的恶 ...

  3. ubuntu19 安装git_如何在Ubuntu 20.04上安装Git

    Git是世界上最受欢迎的分布式版本控制系统,被许多开源和商业项目使用.它使您可以与其他开发人员在项目上进行协作,跟踪代码更改,还原到上一阶段,创建分支等. Git最初是由Linux内核的创建者Linu ...

  4. linux :YOLO5配置(ubuntu 20.04 下安装运行yolov5)

    ubuntu 20.04 下安装运行yolov5 新建文件夹,安装python 安装 python-pip: 克隆YOLOv5Git code 配置YOLO环境 安装yolov5: ubuntu 20 ...

  5. ubuntu linux安装控制面板,在Ubuntu 20.04上安装Ajenti控制面板的方法

    本文介绍在Ubuntu 20.04服务器上安装Ajenti控制面板的方法,下面介绍的安装方法最大的好处是它完全自动化的. 一.更新Ubuntu 20.04系统 确保您正在全新安装Ubuntu 20.0 ...

  6. go 写文件_如何在 Ubuntu 20.04 上安装 Go

    本文最先发布在: 如何在 Ubuntu 20.04 上安装 Go​www.itcoder.tech Go,通常被称为 golang,它是一门由 Google 创建的现代化的开源编程语言,它允许你构建实 ...

  7. ubuntu安装ftp_如何在 Ubuntu 20.04 上安装 Webmin

    本文最先发布在: 如何在 Ubuntu 20.04 上安装 Webmin​www.itcoder.tech Webmin 是一个开源控制面板,它允许你通过简单易用的 Web 界面,就可以管理你的 Li ...

  8. 如何在Ubuntu 20.04 上安装 Xrdp 服务器(远程桌面)

    本文最先发布在: https://www.itcoder.tech/posts/how-to-install-xrdp-on-ubuntu-20-04/ Xrdp 是一个微软远程桌面协议(RDP)的开 ...

  9. 如何在 Ubuntu 20.04 上安装 Java

    本文最先发布地址 如何在 Ubuntu 20.04 上安装 Java 在这个指南中,我们将会描述如何在 Ubuntu 20.04 上安装 Java. Java 是世界上最流行的编程语言之一,被用来构建 ...

最新文章

  1. 最新:全球大型数据中心总数增至597个,是2015年数据中心数量的两倍
  2. java异步调用数据库存储过程详解,java中如何调用存储过程
  3. c语言 为什么i%3cn 1,c语言中n+1个基础且容易出错的知识点
  4. golang获取程序运行路径
  5. 学习Flask-SQLAlchmy管理数据库知识记录点
  6. mysql安装 linux rpm_linux MySQL5.7 rpm安装
  7. JUC 常用 4 大并发工具类:CountDownLatch、CyclicBarrier、Semaphore、Exchanger
  8. meta分析stata教程
  9. 【2020软考】软件评测师考试大纲
  10. Pygame详解(十一):Rect 对象
  11. 学习Java可以做些什么?
  12. linux 下的文本处理——除去重复行uniq命令
  13. 哪个牌子的蓝牙耳机音质好?公认音质最好的真无线耳机推荐
  14. 软件测试之---测试设计方法
  15. 【Linux】VMware使用 - 虚拟机克隆
  16. 为什么30岁的工程师容易跳槽?
  17. 唐僧日记[作者:殷靖海] (一)
  18. 糟心的租房经历——以此为戒
  19. 统计|如何处理数据处理中的缺失值?
  20. 实时数仓之 Kappa 架构与 Lambda 架构(建议收藏!)

热门文章

  1. java 动静态代理(https://www.cnblogs.com/V1haoge/p/5860749.html)
  2. mac菜单栏不显示了
  3. 工业4.0 资产管理壳学习笔记(3)-应用场景与架构
  4. shell中的数组详解
  5. Qt MAF过滤的方法
  6. ERP 和 MES 之间的联系是什么?
  7. Activiti/Flowable/Camunda介绍
  8. 数字孪生体将充当元宇宙的基础,并允许人们在真实和虚拟空间之间移动。...
  9. other blogs
  10. 【ROS教程 001】ROS机器人系统简介及安装