커널이 지원할 수있는 파일 시스템을 감지하려고합니다. 이상적으로는 이름의 작은 목록에 있지만 당신이 가진 것은 무엇이든 가져갈 것입니다.
참고 내 말은하지 않는 것이 현재 사용중인 파일 시스템을 , 단지 사람 현재 커널은, 이론적으로 직접 지원할 수 있음 (분명히, 퓨즈는 수 많은 무한 번호를 지원합니다).
커널이 지원할 수있는 파일 시스템을 감지하려고합니다. 이상적으로는 이름의 작은 목록에 있지만 당신이 가진 것은 무엇이든 가져갈 것입니다.
참고 내 말은하지 않는 것이 현재 사용중인 파일 시스템을 , 단지 사람 현재 커널은, 이론적으로 직접 지원할 수 있음 (분명히, 퓨즈는 수 많은 무한 번호를 지원합니다).
답변:
실행중인 커널이 지원할 수있는 파일 시스템을 나열 할 수 있습니까?
글쎄, 대답은 /proc/filesystems : 그것은 이미 사용하게된다 만 FS에 반영하지만, 일반적으로 더 많은 방법이있어 - 단순히 잘못된 것입니다
ls /lib/modules/$(uname -r)/kernel/fs
다른 소스는 /proc/config.gz배포판에 없을 수도 있습니다 (그리고 나는 항상«왜?!»궁금합니다).
/proc/filesystems없는 잘못 은 그냥, 불완전 .
/lib/modules/$(uname -r)/kernel/fs커널에 내장 된 파일 시스템이 아닌 모듈로 활성화 된 파일 시스템에만 도움이됩니다. 또한 모듈 이름이 제공하는 파일 시스템 이름과 일치하지 않을 수 있으며 단일 모듈이 여러 파일 시스템을 제공 할 수 있습니다.
/proc/config.gz. 1) 존재하지 않을 수도 있습니다. 2) 모듈 이름이 제공하는 파일 시스템 이름과 일치하지 않을 수 있으며 단일 모듈이 여러 파일 시스템을 제공 할 수 있습니다.
/proc/filesystemsnodev예를 들어, 파일 시스템 속성과 함께 실행중인 커널이 지원하는 모든 파일 시스템 유형을 나열 하여이 파일 시스템이 블록 장치에 의해 지원되지 않음을 나타냅니다.
man 5 filesystems 좀 더 자세한 정보를 제공합니다.
nodev출력 의 의미는 무엇입니까 cat /proc/filesystems?
cat /proc/filesystems에는 분명히 "nodev", 특수 목적 파일 시스템, ext2, ext3, ext4가 있습니다. 에서 살펴보면 /lib/modules/3.11.6-1-ARCH/kernel/fs"fats", "btrfs", "reiserfs"와 같은 다른 여러 디스크가 정기적 인 온 디스크 파일 시스템이지만 /proc/filesystem목록 에는 나타나지 않습니다 . 무슨 일이야?
nodev문제의 파일 시스템은 실제 블록 파일 시스템이 필요한 실제 파일 시스템이 아니라 블록 장치가 아닌 다른 파일 시스템에 의해 지원되는 가상 파일 시스템임을 나타냅니다.
/proc/filesystems커널이로드 한 파일 시스템 만 표시합니다. 해당 모듈을 커널에 삽입 할 때까지 (일반적으로 필요할 때 자동으로 발생) 커널은 해당 파일 시스템을 지원할 수 없습니다.
나는 이것이 당신에게 원하는 것을 줄 것이라고 믿습니다.
(cat /proc/filesystems | awk '{print $NF}' | sed '/^$/d'; ls -1 /lib/modules/$(uname -r)/kernel/fs) | sort -u
설명
내 최선의 이해를 바탕으로 :
cat /proc/filesystems | awk '{print $NF}' | sed '/^$/d' 커널에서 기본적으로 지원하는 모든 파일 시스템 (sysfs와 같은)과 커널 모듈이 현재로드 된 파일 시스템을 제공합니다ls -1 /lib/modules/$(uname -r)/kernel/fs 커널에 사용 가능한 파일 시스템 모듈 목록을 제공합니다sort -u 중복이 제거 된 처음 두 명령의 결합 된 결과를 정렬합니다 (고유 결과 만 표시 -u).나는 여전히 리눅스를 배우고있다. 이것은 아치 리눅스에서 작동하지만 적어도 우분투에서는 /lib/modules/$(uname -r)/kernel/fs배포판에 적합한 다른 디렉토리로 경로 를 변경해야 할 수도 있다고 생각 한다.
/boot/config-$(uname -r)