Çekirdek NTFS sürücüsü vs NTFS-3G


18

Diğerine erişimi kaybettiğim için daha kapsamlı bir ifade sorusu.

İlk etapta taşınmaması gerektiğinden diğerinin silinmesini isterdim, bu değil.

Şu anda Linux için iki NTFS sürücüsü bulunmaktadır.

Çekirdeğe dahil olan NTFS sürücüsü ve FUSE ürününü kullanan kullanıcı alanı NTFS-3G sürücüsü.

Tüm hesaplarda, NTFS-3G mükemmel çalışır.

O zaman sorum, NTFS dosya sistemi başarıyla tersine mühendislik yapılmışsa, çekirdek NTFS ekibi neden sürücülerindeki değişiklikleri uygulamadı? Şu anda hala deneysel olarak işaretlenmiştir ve verilerinizi yok etme şansı yüksektir.

Not: Bunun dağıtımlarla kesinlikle bir ilgisi yoktur ...

Yanıtlar:


24

Ne yazık ki bu, topluluk projelerinde yaygın bir sorundur.

Topluluk önemli bir sorunu tespit ettikten sonra, bu sorunu çözmek için projeler açılır. Bu durumda, sorun NTFS FS kullanımıdır.

Linux-NTFS (çekirdek FS sürücüsü), Önce yaratıldı ve bir süre sonra gelişme durdu. IMO kötü bir seçim, önceliği hak ediyor ve hala yapıyor. Bu sürücü, Linux yaptığım sürece (yarım on yıldan fazla) kararlı, salt okunur. Bu, sorunun yalnızca yarısını ele alır, bu nedenle topluluk ellerinden geldiği her yere baktı.

Esir NTFS (NTFS.SYS için Sürücü Wrapper) oluşturmak nispeten daha kolaydı. Diğer projelerde zaten kod vardı. Topluluğun bakılmasının temel nedeni NTFS.SYS'nin Özgür Yazılım olmamasıydı.

NTFS-3G (Sigorta) birlikte tokatlandı ve tamamen işlevsel. Proje, Tuxera'nın itici ticari gücüne sahiptir. Bu proje, Linux'tan NTFS kullanımındaki orijinal sorunu ele almaktadır. Tuxera, topluluğun neden Linux-NTFS'yi tamamlaması gerektiğini vurgulayan birinci sınıf tescilli bir NTFS çekirdek sürücüsü sunar.

Bu yüzden orijinal sorun ele alındığında topluluk çığlığı serinledi. Bu talihsiz olabilir, çoğu zaman doğru uygulama asla tamamlanmaz. Bunu düşündüğümde, Tuxera kendi özel çekirdek NTFS uygulamasını gerçekten korudu. Düşük bir FUSE sürücüsü oluşturmak, sağlam bir performans gösteren GPL çekirdek sürücüsü için baskıyı soğutdu.

Şimdi açıklığa kavuşturmak için büyük bir topluluk projesi destekçisi / meraklıyım. Ayrıca çekirdek programlama yeteneği olmayan bir eleştirmen oldum. FUSE, özellikle özel FS sürücüleri için birçok özelliğe sahiptir. Soğuk sert gerçekler hala duruyor, Kernel FS Sürücüleri çok daha güçlü performans sağlıyor. Çekirdek sürücüleri yazmak çok daha fazla zaman / yetenek, daha sonra benzer bir FUSE uygulaması gerektirir. Her ikisi de (Yetenekli topluluk Programcılarından Zaman) her zaman yetersiz kalmıştır.

Umarım bu Linux NTFS desteği ile ilgili olarak mevcut durumu açıklar.


1

Bu bir öncelik meselesi. Bir şey yapmak, başka bir şeyin yapılmayacağı anlamına gelir. ntfd-3g iyi çalışıyor, bu nedenle çekirdek sürücüsüne dokunmak çok düşük bir öncelik.


2
Tamamen ayrı projeler tarafından yazılmaları dışında, çekirdeğin gerçekten çalışan bir sürücüye sahip olması elbette önemlidir?
Jack

Ayrı projeler olmaları önemsizdir. Aslında, çekirdek sürücüsünü yazabilmek için hem çekirdek dosya sistemi modülü bilgisine hem de NTFS bilgisine sahip birini bulmanız gerektiğinden bu durum daha da kötüleşir .
Ignacio Vazquez-Abrams

1
Hayır, alakasız değil. Şu anda çekirdek mümkün olduğunda NTFS yazma desteğine sahip değil. Bunun yerine, bir üçüncü taraf çözümüne ihtiyaç vardır. Cevabınız, KDE işi ​​iyi yaptığında neden Gnome'u geliştirmek için uğraştığınızı söylemeye benziyor. Hem gnome hem de KDE tamamen işlevsel olduğu için oldukça uygun bir benzetme değil, ama
Jack

3
Konuyu kaçırıyorsun. Bir üçüncü taraf kullanıcı alanı sürücüsüne güvenmek zorunda kalmadan, çekirdekte çalışan bir NTFS sürücüsüne sahip olmanın birçok avantajı vardır. Her durumda, sorumun cevabı "ntfs-3g çok iyi çalıştığı için" değil. Project X ve Project Y'ye sahipseniz, her ikisi de aynı ortak hedefe sahiptir ve Project Y onların ilkini alırsa, Projec X pes etmeyecektir. Aslında, bunun tam tersini çok sık görüyoruz .
Jack,

1
What would a kernel driver do that a FUSE driver wouldn't?: CPU'yu % 100 sabitlemeyerek gömülü sistemlerde diğer işlemler için boşaltın . Bkz. Ubuntu , Mageia , Ubuntu , ArchLinux , openSUSE vb.
Amit Naidu

1

Bu soruyu bugün kendime sordum aslında. İşte benim gerçekten puslu ve uzman olmayan anlayışım.

ntfs3g gerçekten bir sürücü değil, bir uygulamadır. bir arabirim için FUSE (kullanıcı alanındaki dosya sistemi) kullanır ve çapraz platformdur. bu nedenle, çekirdek ntfs sürücüsü muhtemelen ntfs3g tarafından kullanılan yöntemleri uygulayabilirken (emin değiller mi?), kullanıcı alanında çalışır, ki bu çekirdek yetki alanı değildir.

... tam anlamıyla okuduğum bir cümleye dayanan bir sonuçtu. bu konuda gerçekten eğitim almış herkese nasıl geliyor? =)

aslında, sanırım bu konuda blog yazacağım. = D


Evet, ntfs-3g sürümü, pencerelerdeki yerel ntfs.sys ile karşılaştırıldığında çok özlüdür .
user2284570
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.