%20%E3%81%8A%E3%82%88%E3%81%B3%20-O%20%E3%81%AE%E4%BD%BF%E7%94%A8.png)
ルートがあるファイルの仕様を作成しようとしていますが、パスとファイルにのみ興味が/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
。ディレクトリを指定することはできませんが、そこにはフルパスリストが必要です(私が知っている限り重複しません)。