mtree(8) および -O の使用

mtree(8) および -O の使用

ルートがあるファイルの仕様を作成しようとしていますが、パスとファイルにのみ興味が/etcあります。私はFreeBSD-12を使用しており、仕様を正常に作成できます。/etc/rc.conf.d/etc/rc.conf.local/etc/etc/rc.conf.d

mtree -cx -K uname,gname,sha512 -p /etc/rc.conf.d/ -R uid,gid > /tmp/etc-conf-d.mtree

パラメータ/etcに使用したいのですが、-pファイルリストを除外したいと思います。たぶん私はマニュアルページを間違って理解していたかもしれません。-Oこれにより、仕様を生成するためのファイル/パスのリストを提供できると考えました。

mtree(8) のマニュアルページから:

-O onlypaths このパス名リストに含まれるファイルのみを含みます。

しかし、私が実行した場合:

mtree -cx -K uname,gname,sha512 -p /etc/ -O /etc/rc.conf.d/ -R uid,gid > /tmp/etc-conf-d.mtree

これにより、パス指定がまったくなく、ヘッダーのみを持つ指定ファイルが生成されます。私は何か間違っているのでしょうか、それとも仕事に間違ったツールを使用していますか?

ベストアンサー1

まあ、マニュアルページはこれを行うために実際に必要な詳細を提供しないので、それを理解するためにソースを見ました。次のような状況を発見しました。

オプションは、-Oパスのリストを含むテキストファイルへのパスでなければなりません(「パス」は用語「ディレクトリ」とは異なります)。各パスはこのファイル内の1行を占有し、現在のディレクトリ、つまり指定されたディレクトリを暗黙的に表す./プレフィックスで始まる必要があります。.-p

オプションによって提供されるファイルのリストは、-O次のように提供されるようですfind。ディレクトリを指定することはできませんが、そこにはフルパスリストが必要です(私が知っている限り重複しません)。

おすすめ記事