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경로 목록이 포함된 텍스트 파일의 경로여야 합니다("경로"는 용어상 "디렉토리"와 다릅니다). 각 경로는 이 파일에서 한 줄을 차지하며 현재 디렉터리, 즉 로 지정하는 디렉터리를 암시적으로 나타내는 ./접두사 로 시작해야 합니다 ..-p

옵션에 의해 제공된 파일 목록은 -O다음과 같이 제공되는 것 같습니다 find. 디렉토리를 지정할 수는 없지만 거기에 전체 경로 목록이 필요합니다(내가 아는 한 중복되지 않음).

관련 정보