Debian Stretchのgrubに奇妙な問題があります(lvs呼び出し)。

Debian Stretchのgrubに奇妙な問題があります(lvs呼び出し)。

update-grubコマンドを実行しようとすると、非常に奇妙な出力が表示されます。

update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.9.0-6-amd64
Found initrd image: /boot/initrd.img-4.9.0-6-amd64
Found linux image: /boot/vmlinuz-4.9.0-4-amd64
Found initrd image: /boot/initrd.img-4.9.0-4-amd64
File descriptor 7 (pipe:[33660]) leaked on lvs invocation. Parent PID 7587: /bin/sh
done

この問題を解決する必要があります。このようなメッセージが表示される原因は何ですか?

答え1

update-grubこれらの警告は、コードとバイナリlvsの間に「整理されていない」部分があることを指摘しています。lvsつまり、標準ファイル記述子(0、1、2)ではなく、開かれたファイル記述子(7)が継承されます。すべての記述子をすぐに閉じて警告を印刷します(LVM_SUPPRESS_FD_WARNINGS環境変数を介して抑制できます)。サブプロセスが不必要にファイル記述子を継承できるようにすることは、脆弱性を悪用する可能性があるステートメントを開くため、悪いコーディング慣行です。したがって、この場合、セキュリティ(または正確さ)に影響がない場合でも、ここでは確実に修正する必要がある部分があります。

関連情報