커널 NTFS 드라이버와 NTFS-3G


18

다른 질문에 대한 액세스 권한을 잃은 이후보다 포괄적 인 문구 질문입니다.

처음에는 마이그레이션하지 않아야하므로이 항목이 아닌 다른 항목을 삭제하도록 요청합니다.

현재 Linux에 사용 가능한 NTFS 드라이버는 두 가지가 있습니다.

커널에 포함 된 NTFS 드라이버 및 FUSE를 사용하는 사용자 공간 NTFS-3G 드라이버

모든 계정에서 NTFS-3G는 완벽하게 작동합니다.

내 질문은 NTFS 파일 시스템이 리버스 엔지니어링 된 경우 커널 NTFS 팀이 드라이버의 변경 사항을 구현하지 않은 이유는 무엇입니까? 현재로서는 여전히 실험으로 표시되어 있으며 데이터를 파괴 할 가능성이 높습니다.

참고 : 이것은 배포판과 전혀 관련이 없습니다 ...

답변:


24

불행히도 이것은 커뮤니티 프로젝트에서 일반적인 문제입니다.

커뮤니티가 중대한 문제를 발견하면이를 해결하기위한 프로젝트가 나타납니다. 이 경우 문제는 NTFS FS 사용률입니다.

Linux-NTFS (커널 FS 드라이버)가 처음 생성되었으며 잠시 후 개발이 중단되었습니다. IMO는 나쁜 선택이지만 우선 순위는 있지만 여전히 그렇습니다. 이 드라이버는 Linux를 사용하는 동안 (5 년 이상) 읽기 전용으로 안정적입니다. 이것은 문제의 절반 만 해결하므로 커뮤니티는 가능한 모든 곳을 보았습니다.

Captive NTFS (NTFS.SYS 용 드라이버 래퍼)는 훨씬 쉽게 만들 수있었습니다. 다른 프로젝트에는 이미 많은 코드가 존재했습니다. 커뮤니티가 주목 한 주된 이유는 NTFS.SYS가 자유 소프트웨어가 아니기 때문입니다.

NTFS-3G (퓨즈)는 서로 맞 물리고 완전히 작동합니다. 이 프로젝트는 Tuxera의 추진력이 있습니다. 이 프로젝트는 Linux에서 NTFS를 사용하는 원래 문제를 해결합니다. Tuxera는 ​​프리미엄 독점 NTFS 커널 드라이버를 제공하여 커뮤니티에서 Linux-NTFS를 완료해야하는 이유를 강조합니다.

따라서 원래 문제가 해결되면서 공동체의 외침이 식어졌습니다. 올바른 구현이 완료되지 않는 경우가 많으므로 불행한 일입니다. Tuxera는 ​​실제로 독점 커널 NTFS 구현을 보호했습니다. 열등한 FUSE 드라이버를 생성하고 견고한 GPL 커널 드라이버의 푸시를 냉각했습니다.

이제 명확히하기 위해, 나는 거대한 커뮤니티 프로젝트 후원자 / 열정 자입니다. 나는 또한 커널 프로그래밍 능력이없는 비평가가되었습니다. FUSE에는 특히 특수 FS 드라이버에 많은 장점이 있습니다. 여전히 어려운 사실은 커널 FS 드라이버가 훨씬 강력한 성능을 제공한다는 것입니다. 커널 드라이버를 작성하려면 훨씬 더 많은 시간 / talent가 필요하며 그에 필적하는 FUSE 구현이 필요합니다. 둘 다 (특성 커뮤니티 프로그래머의 시간) 항상 부족했습니다.

나는 이것이 리눅스 NTFS 지원과 관련하여 현재 상황을 설명하기를 바랍니다.


1

우선 순위의 문제입니다. 한 가지를 선택하면 다른 일이 이루어지지 않습니다. ntfd-3g는 잘 작동하므로 커널 드라이버를 터치하는 것이 우선 순위가 매우 낮습니다.


2
그것들이 완전히 별개의 프로젝트로 작성되었다는 것을 제외하고는 커널이 실제로 작동하는 드라이버를 갖는 것이 중요합니까?
Jack

그들이 별도의 프로젝트라는 사실은 관련이 없습니다. 실제로 커널 드라이버를 작성하려면 커널 파일 시스템 모듈 지식 NTFS 지식을 모두 갖춘 사람을 찾아야하므로 상황이 더 나빠 집니다.
Ignacio Vazquez-Abrams가

1
아니요, 관련이 없습니다. 현재 커널은 분명히 가능할 때 NTFS 쓰기를 지원하지 않습니다. 대신 타사 솔루션이 필요합니다. 당신의 대답은 KDE가 잘 작동 할 때 왜 Gnome을 개발해야 하는지를 말하는 것과 비슷합니다. gnome과 KDE가 완전히 작동하기 때문에 꽤나 유추 할만한 것은 아니지만, 요점을 알 수 있습니다.
Jack

3
요점이 없습니다. 타사 사용자 공간 드라이버를 사용하지 않고도 커널에 NTFS 드라이버가 작동하면 많은 이점이 있습니다. 어쨌든 내 질문에 대한 대답은 "ntfs-3g가 잘 작동하기 때문에"이 아닙니다. 프로젝트 X와 프로젝트 Y가 있다면, 둘 다 같은 공통 목표를 가지고 있고 프로젝트 Y가 첫 번째 목표를 달성하면 Projec X는 포기하지 않을 것입니다. 사실, 우리는 그 반대 를 너무 자주 본다 .
Jack

1
What would a kernel driver do that a FUSE driver wouldn't?: 임베디드 시스템의 CPU를 100 %로 고정 시키지 않으면 서 다른 프로세스의 CPU를 확보 합니다. 참조 우분투 , 마제 야 , 우분투 , 아치 리눅스 , 오픈 수세
아 미트 Naidu는

1

오늘 방금이 질문을 했어요. 여기에 정말 흐릿하고 전문가가 아닌 이해가 있습니다.

ntfs3g는 실제로 드라이버가 아니며 응용 프로그램입니다. 인터페이스에 FUSE (사용자 공간의 파일 시스템)를 사용하며 크로스 플랫폼입니다. 따라서 커널 ntfs 드라이버는 ntfs3g에서 사용하는 메소드를 구현할 수 있지만 (확실하지는 않습니까?) 사용자 공간에서 작동하며 커널의 관할권이 아닙니다.

... 그것은 문자 그대로 내가 읽은 한 문장을 기반으로 한 결론이었습니다. 실제로 해당 주제에 대해 교육을받은 사람에게는 어떻게 들립니까? =)

사실, 나는 이것에 대해 블로그에 갈 것이라고 생각합니다. = D


예, ntfs-3g 버전은 Windows의 기본 ntfs.sys와 비교할 때 너무 느립니다 .
user2284570
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.