簡體   English   中英

linux工具包容器

[英]linux tools package container

我對 Docker 相當陌生,我正在嘗試使用 perf 來檢查某些東西的性能。 Perf 沒有附帶我正在使用的圖像,所以我去安裝它。 我用了

apt-get update
apt-get install perf

這不起作用,因為 perf 是另一個包的一部分。 然后我嘗試

apt-get install -y linux-tools-common linux-tools-generic linux-tools-`uname -r`

這導致

E: Unable to locate package linux-tools-common
E: Unable to locate package linux-tools-generic
E: Unable to locate package linux-tools-3.10.0-862.3.3.el7.x86_64
E: Couldn't find any package by glob 'linux-tools-3.10.0-862.3.3.el7.x86_64'
E: Couldn't find any package by regex 'linux-tools-3.10.0-862.3.3.el7.x86_64'

關於我應該嘗試什么的任何建議?

我假設您的容器中有一個相當新的 Linux,而主機上有一個舊的。

請注意, perf 必須與您的 Linux 內核版本完全相同。 並且通過容器化使用主機系統的內核。

當您在容器中安裝通用 perf 包時,包管理器會檢索(主機)內核的版本並嘗試安裝具有相同版本的 perf 包。 由於容器中 Linux 發行版的較新版本,必需的舊 perf 包不再是其包存儲庫的一部分,從而導致您看到錯誤消息。

對此有多種解決方案:a) 更新主機 Linux 內核以受容器 Linux 發行版的支持,b) 降級容器 Linux 發行版,或 c) 在容器中提供必要的 perf 包。 這可能很棘手,您可能會搞砸容器的包管理器。 但這只是一個容器;)。 您可以使用uname -a找出必要的版本。

在 Debian 10 上對我有幫助的是:

apt install linux-perf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM