yum -y install bcc
yum -y install bcc-tools
yum -y install python3-bcc
yum -y install bcc-devel
此時會安裝bcc基礎庫和對應bcc tools,然而我們想要直接執行對應的bcc-tools,比如execsnoop卻發現並未找到對應的可執行檔案。檢視下bcc-tools工具的安裝目錄:
rpm -ql bcc-tools
發現該工具的安裝目錄在/usr/share/bcc/tools/ 這裡。這個目錄並不存在於預設的path環境變數中,因此直接執行不了。需要把該目錄新增到path目錄中才行。
1.無法找到python可執行檔案
在原始碼包中的工具,無法找到python檔案,新版的bcc tools都是使用的python3語言來寫,工具中索引的是/usr/bin/python這個可執行檔案,如果系統中沒有,那麼就無法找打,而使用yum安裝的bcc-tools這裡已經做了適配,所以沒有問題。修復方案:
sudo ln -s $(which python3) /usr/bin/python
2.無法執行execsnoop,python module報錯no module named bcc.containers
此時我通過如下命令看下python3-bcc依賴庫都安裝了哪些檔案:
rpm -ql python3-bcc
輸出的檔案全部都安裝到了/usr/lib/python3.6/site-packages/bcc/
目錄中。但是其中並不包含containers python庫檔案。這就是問題所在。
如何解決?
既然原始碼包中的tools會引用到這個庫,那麼該庫一定在原始碼包這個版本中,我們搜尋bcc-master原始碼包目錄,嘗試尋找python庫的位置:
find . -name *containers*
./src/python/bcc/containers.py
我們在這個目錄中找到的python庫檔案,該目錄中實際是就是新版本的python3-bcc庫,那麼直接把需要的庫檔案複製乙份到/usr/lib/python3.6/site-packages/bcc/,應該就可以預設被python引用到了。
cp bcc-master/src/python/bcc/containers.py /usr/lib/python3.6/site-packages/bcc/
ok了,再次嘗試執行原始碼包中的execsnoop.py:
# ./execsnoop.py
pcomm pid ppid ret args
ps 3696045 3696044 0 /usr/bin/ps awwx -o pid,ppid,cmd
wc 3696048 3696044 0 /usr/bin/wc -l
sleep 3696049 3131 0 /usr/bin/sleep 5
大功告成。 Centos8 安裝教程
所謂虛擬機器,也就是通過軟體虛擬的方式搭建乙個外殼,而且這個外殼就相當於我們的物理主機,在這個虛擬外殼內部可以通過安裝的方法安裝另外乙個作業系統。在虛擬機器內部可以對劃分的磁碟進行動態的分割槽,格式化,安裝作業系統安裝軟體,資料儲存和網路訪問。總之物理機既能夠實現的,虛擬機器都能實現,虛擬機器與物理...
centos8安裝系統的軟體anconda跟蹤
在開發過程中遇到這樣的需求 在當前linux系統中切換到另外乙個linux系統,不能借助額外的磁碟,因此學習linux系統的安裝原理,寫下這篇bolg備忘。本文先介紹centos8安裝過程,然後再一步一步找到我們主角anconda系統安裝程式,做到知其然並知其所以然。使用工具製作ultraiso將i...
CentOS8 安裝 Docker步驟
前奏 設定阿里雲yum repo 提高yum安裝的速度 yum y install wget cd etc yum.repos.d wget mv centos base.repo centos base.repo.bak mv centos 8.repo centos base.repo yum ...