lsofがtracefsについて文句を言うのはなぜですか?


11

を実行するたびにlsof、TraceFSに関する警告が発行されます。

$ lsof any-file
lsof: WARNING: can't stat() tracefs file system /sys/kernel/debug/tracing
      Output information may be incomplete.

$ mount | grep trace
tracefs on /sys/kernel/debug/tracing type tracefs (rw,relatime)

(これはUbuntu 15.10にあり、完全に更新されています)

通常の操作中にTraceFSがマウントされるのは正常ですか?
もしそうなら、どうすればそれlsofをスキップするように言うことができますか?

回答:


12

あなたの質問への答えはファイルのアクセス許可にあります:

試してください:

$ ls -l /sys/kernel/debug/tracing
ls: cannot access '/sys/kernel/debug/tracing': Permission denied
$ ls -l /sys/kernel
total 0
...
drwx------  31 root root    0 2016-06-15 11:06:47 debug
...

したがって、通常のユーザーはアクセス/sys/kernel/debug/tracingを許可されておらず、アクセスlsofを回避するよう依頼する方法はないようです。

その後、これがバグであるかどうかについて話し合うことができますが、質問に対する答えはこれに要約されます。


「バグ」とはどういう意味ですか?「lsof」は「sudo」または「root」として実行する必要があります。
Rinzwind 2016年

1
lsofはrootとして実行する必要はありません。セキュリティについては説明できますが(man lsofを参照)、スーパーユーザー権限でのみ実行する必要はありません。/ usr / sbinではなく、/ usr / binにあります。
EnzoR 2016年

「それを避ける方法はない」は完全に受け入れられる答えです。さらに、Ubuntu 16.04以降、TraceFSはデフォルトでマウントされなくなったようです。lsof通常のユーザーとして実行しているときの警告が表示されなくなりました。
Zilk

3
16.04にいますが、消えませんでした-まだ問題です。
TenLeftFingers

@TenLeftFingers私の最新のKubuntu 16.04で動作しています。
EnzoR 2016年

3

私は同じ問題を抱えていましたが、この回答は問題をもう少しよく理解するのに役立ちました。

迷惑な警告を削除する1つの方法は、debugfsをアンマウントすることです。

mount | grep debugfs 
none on /sys/kernel/debug type debugfs (rw,_netdev)

sudo umount $(mount | grep debugfs | awk '{print $3}')

今実行してlsofも警告は出ません。


2
これが本当に探しに来た理由です。エラーが表示される理由はあまり気にしません。私は本当にそれが消えてほしかった。damko、ありがとう!
cjac

umount: /sys/kernel/debug: target is busy.
msangel

2

問題は、debugfsディレクトリにアクセスする権限がないことです。tracefsディレクトリは、トレースディレクトリを/ sys / kernel / tracingに直接マウントできるようにするために作成され、debugfsを有効にする必要はありません。ただし、下位互換性のために、debugfsディレクトリをマウントすると、debugfsの「tracing」ディレクトリにtracefsが自動的にマウントされます。

lsofを実行すると、/ proc / filesystemsファイルと/ proc / mountsが確認されます。tracefsが/ sys / kernel / debug / tracingにマウントされていることを確認し、それを統計しようとします。残念ながら、/ sys / kernel / debugではroot以外のユーザーがその内部を表示できないため、/ sys / kernel / debug内からディレクトリ「トレース」を統計しようとすると、エラーメッセージが表示されます。debugfsディレクトリをアンマウントすると、警告が消えます。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.