특정 확장만 설치하려면 --bind 옵션을 사용하시겠습니까? 아니면 대안이... (가능한지 모르겠습니다...)

특정 확장만 설치하려면 --bind 옵션을 사용하시겠습니까? 아니면 대안이... (가능한지 모르겠습니다...)

내 파티션에 PDF, 텍스트, 로그 등 많은 파일이 포함된 폴더가 있습니다. 폴더는 /mnt/main_files입니다.

PDF 파일을 매핑하여 /var/www/html/files_pdf로 보내는 것이 가능한지 궁금합니다.

현재 mount --bind를 사용하여 직접 마운트하고 있지만 모든 파일이 표시됩니다. PDF 파일만 표시하고 싶습니다...

내가 실행하는 명령은 다음과 같습니다.

mount --bind /mnt/main_files /var/www/html/files_pdf

이 작업을 수행할 수 있는 다른 방법이 생각나지 않습니다. 누군가 제게 지침을 좀 주시겠습니까?

감사해요...

추신: mount --bind를 사용하여 이를 달성할 수 없는 경우 다른 방법이 있습니까? Symlink 등... 어떤 도움이라도 대단히 감사하겠습니다.

답변1

이를 수행할 수 있는 FUSE 파일 시스템이 있습니다. 예를 들어, 100개가 넘는 파일이 있는 디렉터리가 있는데 *.img파일은 2개뿐입니다.

$ ls ~/Downloads/ | wc -l
131
$ ls ~/Downloads/*.img
/home/lars/Downloads/2022-01-28-raspios-bullseye-armhf-lite.img  /home/lars/Downloads/retropie-buster-4.8-rpi2_3_zero2w.img

다음을 사용하여 내 디렉토리를 다른 곳에 마운트 하고 파일을 ~/Downloads노출 할 수 있습니다.*.img로프스 필터FUSE 파일 시스템. 다음 구성이 필요합니다.

# First we need to allow some basic filesystem functionality:
/$
/\.$
/\.\.$

# Allow access only to .img files
.+\.img$

위의 구성이 file 에 있다고 가정하면 config.rc다음과 같이 디렉터리를 마운트합니다.

./rofs-filtered ~/tmp/mnt -o source=~/Downloads -o config=config.rc -o invert

그런 다음 대상 마운트 지점( )의 파일을 나열하면 ~/tmp/mnt다음 *.img파일만 표시됩니다.

$ ls ~/tmp/mnt
2022-01-28-raspios-bullseye-armhf-lite.img  retropie-buster-4.8-rpi2_3_zero2w.img

rofs-filtered프로젝트는 읽기 전용 마운트만 구현합니다. 읽기-쓰기 설치를 제공할 수 있는 다른 유사한 프로젝트가 있을 수 있습니다.

관련 정보