Çalışan bir çekirdeğin destekleyebileceği dosya sistemlerini listeleyebilir miyim?


27

Bir çekirdeğin hangi dosya sistemlerini destekleyebileceğini tespit etmeye çalışıyorum. İdeal olarak isimlerinin küçük bir listesinde, ancak sahip olduğunuz her şeyi alacağım.

Not demek olmadığını kullanımda geçerli dosya sistemlerini , sadece olanları mevcut çekirdek, teorik olarak doğrudan destekleyebilir ki (tabii ki, sigorta olabilir daha sonsuz numaraları desteklenir).

Yanıtlar:


12

Çalışan bir çekirdeğin destekleyebileceği dosya sistemlerini listeleyebilir miyim?

Eh, cevap /proc/filesystems basitçe yanlıştır - yalnızca zaten kullanıma sunulan FS'leri yansıtır, ancak genellikle daha fazlası var

ls /lib/modules/$(uname -r)/kernel/fs

Başka bir kaynak /proc/config.gzda, dağıtımınızda eksik olabilir (ve her zaman "neden ?!" diye merak ediyorum).


2
Ubuntu'nun çekirdek yapılandırması sadece farklı bir yere dahil edilmiştir:/boot/config-$(uname -r)
Oli

2
/proc/filesystemsdeğil yanlış sadece olduğunu, eksik .
scai

3
@poige Bu mantıkla cevabınız tamamen eksik ve yanlıştır. /lib/modules/$(uname -r)/kernel/fsÇekirdeğe yerleşik olanlara değil, yalnızca modüller olarak etkinleştirilen dosya sistemlerine yardımcı olacaktır. Ek olarak, bir modül adı sağladığı dosya sistemi adıyla eşleşmeyebilir ve tek bir modül birden fazla dosya sistemi sağlayabilir.
Patrick

4
Bu cevap yanıltıcıdır, eğer bir modül yüklenmemişse, çekirdek bu dosya sistemi türünü yükleyene kadar yükleyemez. Çekirdeğin yüklenebileceğini belirtmek doğru değildir - modülü başarıyla yükleyene kadar bilemezsiniz. Eğer bir garanti bile yok edebilir bu modülü yükleyin.
Chris Down,

3
@poige aslında hiç göz ardı etmiyorum /proc/config.gz. 1) var olması garanti edilmez, 2) Bir modül adı, sağladığı dosya sistemi adıyla eşleşmeyebilir ve tek bir modül birden fazla dosya sistemi sağlayabilir.
Patrick

11

/proc/filesystemsnodevBu dosya sisteminin bir blok cihaz tarafından desteklenmediğini belirtmek için , çalışan çekirdek tarafından desteklenen tüm dosya sistemi türlerini ve dosya sistemi özniteliklerini listeler .

man 5 filesystems biraz daha ayrıntılı bilgi verir.


1
Neyi nodevne zaman çıktı ortalamayı cat /proc/filesystems?
slm

Arch linux dizüstü bilgisayarımda, cat /proc/filesystemsözel amaçlı bir dosya sistemi, ayrıca ext2, ext3, ext4 gibi bir grup "nodev" yazıyor. Ben baktığım zaman /lib/modules/3.11.6-1-ARCH/kernel/fs, ben de disk üzerindeki dosya sistemleri düzenli olan "yağ", "Btrfs", "reiserfs" gibi diğer bir dizi, görüyorum, ama görünmez /proc/filesystemlistede. Bunun nesi var?
Bruce Ediger

1
nodevSöz konusu dosya sisteminin, yaşamak için bir blok aygıt gerektiren fiziksel bir dosya sistemi değil, bir blok aygıttan başka bir şey tarafından desteklenen sanal bir dosya sistemi olduğunu gösterir.
Jonathan Callen

5
@BruceEdiger: /proc/filesystemsyalnızca çekirdeğin yüklediği dosya sistemlerini gösterir - siz bu modülleri çekirdeğe yerleştirene kadar (genellikle ihtiyacınız olduğunda otomatik olarak gerçekleşir), çekirdek bu dosya sistemlerini destekleyemez.
Jonathan Callen

0

Bunun istediğini vereceğine inanıyorum:

(cat /proc/filesystems | awk '{print $NF}' | sed '/^$/d'; ls -1 /lib/modules/$(uname -r)/kernel/fs) | sort -u

açıklama

En iyi anlayışa dayanarak:

  • cat /proc/filesystems | awk '{print $NF}' | sed '/^$/d' çekirdeğin (sysfs gibi) yerel olarak desteklediği tüm dosya sistemlerini ve şu anda çekirdek modülleri yüklü olanları verir
  • ls -1 /lib/modules/$(uname -r)/kernel/fs size çekirdeğiniz için uygun olan mevcut dosya sistemi modüllerinin listesini verir
  • sort -u ilk iki komutun birleştirilen sonuçlarını, yinelenenleri kaldırılmış olarak sıralar (yalnızca benzersiz sonuçlar gösterir -u)

Ben hala linux öğreniyorum, bu Arch linux üzerinde çalışıyor ama en azından ubuntu için yolu /lib/modules/$(uname -r)/kernel/fs, dağıtımınıza uygun farklı bir dizine çevirmeniz gerekebileceğine inanıyorum .

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.