ext2 - ikinci genişletilmiş dosya sistemi
ext3 - üçüncü genişletilmiş dosya
sistemi
ext4 - dördüncü genişletilmiş dosya sistemi
İkinci, üçüncü ve
dördüncü genişletilmiş dosya sistemleri
veya yaygın olarak bilindikleri gibi ext2, ext3 ve ext4,
geçmişte birçok Linux
dağıtımı için
öntanımlı dosya sistemi olan Linux dosya sistemleridir.
Genişletilebilirlik ve geriye dönük uyumluluk için
tasarlanmış genel amaçlı dosya sistemleridir.
Özellikle, daha önce ext2 ve ext3 dosya sistemleriyle
kullanılması amaçlanan dosya sistemleri, ext4 dosya
sistemi sürücüsü kullanılarak
bağlanabilir ve aslında birçok modern Linux
dağıtımında, ext4 dosya sistemi
sürücüsü, ext2 ve ext3 dosya sistemlerini
bağlama isteklerini yerine getirmek üzere
yapılandırılmıştır.
Ext2, ext3 veya ext4 için biçimlendirilmiş bir dosya
sistemi, aşağıdaki dosya sistemi özellik
bayraklarından uygun olanlarını etkinleştirilerek
özel bir birleşim oluşturabilir. Bu özelliklerden
bazıları, kullanılan Linux çekirdek
sürümüne bağlı olarak ext2, ext3 ve ext4
dosya sistemi sürücülerinin tüm
gerçeklenimlerinde desteklenmez. GNU/HURD veya FreeBSD gibi
başka işletim sistemlerinin ext2 gerçeklenimlerinde ise
yalnızca çok kısıtlayıcı bir dizi
dosya sistemi özelliği desteklenmiş olabilir.
- 64bit
- Dosya sisteminin 2^32 bloktan daha büyük
olmasını sağlar. Bu özellik
gerektiğinde otomatik olarak ayarlanır, ancak dosya
sisteminin ilk oluşturulduğunda bu eşikten daha
küçük olsa bile, 2^32 bloktan daha
büyük olarak yeniden boyutlandırılması
gerekiyorsa bu özelliğin açıkça
belirtilmesi yararlı olabilir. Bazı eski
çekirdeklerin ve e2fsprogs’un eski
sürümlerinin, bu ext4 özelliği
etkinleştirilmiş dosya sistemlerini desteklemeyeceği
unutulmamalıdır.
- bigalloc
- Bu ext4 özelliği, kümelenmiş
blok tahsisini mümkün kılar, böyle bir tahsis
birimindeki blok sayısı ikinin üstellerinden biri (8,
16, vb.) olmalıdır. Böylece, geleneksel olarak blok
ayırma bit eşlemi olarak bilinen eşlemdeki her bit,
öntanımlı olarak 16 bloktan oluşan bir
kümenin kullanımda olup
olmadığını gösterir. Bu özellik,
blok ayırma için harcanan zamanı azaltabilir ve
özellikle büyük dosyalar için daha az
saçılım sağlar. Küme boyutu,
mke2fs(8) komutunun -C seçeneği
kullanılarak belirtilebilir.
- Uyarı:
-
bigalloc özelliği hala
geliştirme aşamasındadır ve
çekirdeğiniz tarafından tam olarak desteklenmeyebilir
veya çeşitli hataları olabilir.
Ayrıntılar için:
http://ext4.wiki.kernel.org/index.php/Bigalloc.
Gecikmeli tahsis ile çakışabilir (bkz:
nodelalloc bağlama seçeneği).
- Bu özellik extent özelliğinin
etkin olmasını gerektirir.
- casefold
- Bu ext4 özelliği, harf
büyüklüğüne duyarlılık (
+F) bayrağının etkin olduğu dizinler
için dosya sistemi düzeyinde karakter kodlama desteği
sağlar. Bu özellik diskte ad koruyucudur, ancak
uygulamaların dosya adına eşdeğer
sürümde bir kodlama kullanarak dosya sisteminde bir dosya
aramasına olanak tanır.
- dir_index
- Büyük dizinlerde ad aramalarını
hızlandırmak için aşlı
b-ağaçları (b-tree) kullanılır. Bu
özellik, ext3 ve ext4 dosya sistemleri tarafından
desteklenir, ext2 dosya sistemleri tarafından yok
sayılır.
- dir_nlink
- Normalde, ext4, bir dosya
düğümünün en fazla 65.000 sabit
bağa sahip olmasına izin verir. Bu, dizinlerin yanı
sıra normal dosyalar için de geçerlidir; bu, bir
dizinde 64.998’den fazla alt dizin bulunamayacağı
anlamına gelir (çünkü ’.’ ve
’..’ girişlerinin her biri ve dizinin üst
dizindeki kendi dizin girdisi sabit bağ sayılır). Bu
özellik, bir dizine giden sabit bağ
sayısının azami sınır
aşıldığında bilinmediğini
belirtmek için ext4’ün bağ
sayısı olarak 1’i kullanmasına neden olarak bu
sınırı yükseltir.
- ea_inode
- Normalde, bir dosyanın genişletilmiş
öznitelikleri ve ilişkili meta verileri,
düğüme veya düğümün
ilişkili genişletilmiş öznitelik
bloğuna sığmalıdır. Bu özellik,
her bir genişletilmiş öznitelik değerinin,
gerekirse başka bir düğümün veri
bloklarına yerleştirilmesine olanak vererek, dosya
başına genişletilmiş özniteliklerin
boyutu ve sayısı üzerindeki
sınırı yükseltir.
- encrypt
- Veri bloklarının ve dosya
adlarının dosya sistemi düzeyinde şifrelenmesi
için destek sağlar. Dosya düğümü
meta verileri (zaman damgaları, dosya boyutu,
kullanıcı/grup sahipliği vb.) şifrelenmez.
Bu özellik en çok, birden fazla kullanıcıya
sahip dosya sistemlerinde veya tüm dosyaların
şifrelenmemesinin gerektiği durumlarda
kullanışlıdır. Çoğu
kullanımda, özellikle tek kullanıcılı
sistemlerde, dm-crypt kullanarak blok aygıtı
katmanında şifreleme çok daha iyi güvenlik
sağlayabilir.
- ext_attr
- Bu özellik, genişletilmiş
özniteliklerin kullanılmasını sağlar.
Bu özellik ext2, ext3 ve ext4 tarafından desteklenir.
- extent
- Bu ext4 özelliği, ext2 ve ext3 dosya
sistemleri tarafından kullanılan geleneksel dolaylı
blok şemasından daha verimli bir veri yapısı
olan genişletilmiş (extent) ağacı kullanarak,
belirli bir düğüm için mantıksal blok
numaralarının depolanacağı depolama
aygıtındaki fiziksel bloklara eşlenmesine olanak
sağlar. Genişletilmiş ağacın
kullanılması, meta veri bloğunun ek
yükünü azaltır, dosya sistemi
başarımını iyileştirir ve dosya
sisteminde e2fsck(8) çalıştırma
gereksinimini azaltır.
- Bilgi:
- Geriye uyumluluk adına extent ve
extents her ikisi de bu özellik için geçerli
ad olarak kabul edilmektedir.
-
- extra_isize
- Bu ext4 özelliği, nanosaniye zaman
damgaları ve dosya oluşturma süresi gibi
genişletilmiş meta veriler için, mevcut
çekirdeğin bu kadar fazla alan ayırması
gerekmese de, her dosya düğümünde belirli bir
miktarda alan ayırır. Bu özellik olmadan,
çekirdek, o an ihtiyaç duyulan özellikler için
alan ayırır ve geri kalanı
genişletilmiş öznitelikler tarafından
tüketilebilir.
Bu özelliğin kullanışlı olabilmesi
için dosya düğümü boyutunun en
azından 256 bayt veya üstü olması gerekir.
- filetype
- Bu özellik dosya türü bilgilerinin
dizin girdilerinde saklanmasını sağlar. Bu
özellik ext2, ext3 ve ext4 tarafından desteklenir.
- flex_bg
- Bu ext4 özelliği, her bloğun grup meta
verilerinin (tahsis bit eşlemleri ve dosya
düğümü tabloları) depolama
ortamında herhangi bir yere yerleştirilmesine olanak
sağlar. Ek olarak, mke2fs(8), her flex_bg grubunun
ilk blok grubundan başlayarak her bloğun grup meta
verilerini bir arada yerleştirecektir. flex_bg grubunun
boyutu mke2fs(8) komutunun -G seçeneği
kullanılarak belirlenebilir.
- has_journal
- Temiz olmayan sistem kapanmalarında bile dosya
sistemi tutarlılığını sağlamak
için bir günlük oluşturur. Bu
özelliği etkinleştirmek, mke2fs(8) veya
tune2fs(8) ile -j seçeneğini kullanmaya
eşdeğerdir. Bu özellik ext3 ve ext4 tarafından
desteklenir, ext2 dosya sistemi sürücüsü
tarafından yok sayılır.
- huge_file
- Bu ext4 özelliği, dosya boyutunun 2
terabayttan büyük olmasına izin verir.
- inline_data
- Verilerin dosya düğümünde ve
genişletilmiş öznitelik alanında
depolanmasına izin verir.
- journal_dev
- Bu özellik, harici günlük
aygıtında bulunan süper blokta
etkinleştirilir. Harici günlüğün blok
boyutu, onu kullanan dosya sistemi ile aynı
olmalıdır.
Harici günlük aygıtı, mke2fs(8) veya
tune2fs(8) komutuna -j device=harici-aygıt
seçeneği belirtilerek dosya sistemi tarafından
kullanılabilir.
- large_dir
- Bu özellik, dizinlerin azami boyutunu
yükselterek dizin başına dosya sayısı
sınırını ve aşlı
b-ağacı dizinleri için (bkz: dir_index), dizin
girdilerini saklamakta kullanılan aşlı
b-ağacının azami boyutunu artırır.
- large_file
- Bu özelliğin bayrağı, 2
gigabayttan daha büyük bir dosya
oluşturulduğunda günümüz
çekirdekleri tarafından otomatik olarak
tanımlanır. Çok eski çekirdekler
büyük dosyaları işleyemezdi, bu nedenle bu
özelliğin bayrağı, bu çekirdeklerin
anlayamadıkları dosya sistemlerini
bağlamalarını engellemek için
kullanılmaktadır.
- metadata_csum
- Bu ext4 özelliği, meta veri sağlama
toplamını etkinleştirir. Bu özellik,
tüm dosya sistemi meta verilerinin (süper blok, grup
tanımlayıcı bloklar, dosya düğüm
ve blok bit eşlemleri, dizinler ve genişletilmiş
ağaç blokları) sağlama
toplamlarını saklar. Meta veri blokları için
kullanılan sağlama toplamı algoritması,
uninit_bg özellikli grup
tanımlayıcıları için
kullanılandan farklıdır. Bu iki özellik
uyumsuzdur ve uninit_bg yerine tercihli olarak metadata_csum
kullanılır.
- metadata_csum_seed
- Bu özellik, dosya sisteminin meta veri
sağlama toplamı tohumunu süper blokta
saklamasına izin verir; bu, yöneticinin, dosya sistemi
bağlıyken metadata_csum özelliğini
kullanarak bir dosya sisteminin UUID’sini
değiştirmesine olanak tanır.
- meta_bg
- Bu ext4 özelliği, blok grubu
tanıtıcılarının boyutundaki
büyüme için açıkça yer
ayırmaya gerek kalmadan dosya sistemlerinin çevrimiçi
olarak yeniden boyutlandırılmasına olanak
tanır. Bu şema ayrıca 2^32 bloktan daha
büyük dosya sistemlerini yeniden boyutlandırmak
için de kullanılır. Yeni bir dosya sistemi
oluşturulurken bu özelliğin atanması
önerilmez, çünkü blok grubu
tanıtıcılarının bu yöntemle
depolanması, dosya sistemini bağlamak için gereken
süreyi yavaşlatacaktır. Daha yeni çekirdekler,
çevrimiçi yeniden boyutlandırma yaparken yeniden
boyutlandırma düğümünde
ayrılmış daha fazla alan yoksa gereken boyutu
ayarlamak için bu özelliği otomatik olarak
etkinleştirebilir.
- mmp
- Bu ext4 özelliği, çoklu bağlama
koruması sağlar. mmp, dosya sisteminin birden fazla
bağlanmadan korunmasına yardımcı olur.
Paylaşılan depolama ortamlarında
kullanışlıdır.
- project
- Bu ext4 özelliği proje kota desteği
sağlar. Bu özellik ile dosya sistemi
bağlandığında dosya
düğümünün proje kimliği
yönetilir.
- quota
- Kota düğümleri oluşturur (3.
dosya düğümü: kullanıcı
kotası, 4. dosya düğümü: grup
kotası) ve süperblokta bunları tanımlar. Bu
özellik ile dosya sistemi bağlandığında
kotalar otomatik olarak etkinleştirilir.
Kota dosyalarının (yani, eski kota tasarımında
bulunan user.quota ve group.quota dosyalarının) dosya
düğümlerinin gizlenmesine neden olur.
- resize_inode
- Bu dosya sistemi özelliği,
bağlı bir dosya sistemini yeniden
boyutlandırılırken blok grubu tanım tablosunun
genişletilebilmesi için gerekecek yedek alanın
ayrıldığını gösterir.
Çevrimiçi yeniden boyutlandırma işlemi,
resize2fs(8) tarafından tetiklenir ve çekirdek
tarafından gerçekleştirilir.
Öntanımlı olarak mke2fs(8), dosya sisteminin
başlangıç boyutunun 1024 katına kadar
büyüyebileceği alanı ayırmaya
çalışır. Bu, genişletilmiş
yeniden boyutlandırma seçeneği kullanılarak
değiştirilebilir.
Bu özellik, aşağıdaki sparse_super veya
sparse_super2 özelliğinin etkin
olmasını gerektirir.
- sparse_super
- Bu dosya sistemi özelliği,
günümüzde ext2, ext3 ve ext4 dosya sistemlerinin
tamamında etkindir. Süperblok ve blok grubu
tanıtıcılarının yedek
kopyalarının bütün blok gruplarında
değil, yalnızca birkaçında mevcut
olduğunu gösterir.
- sparse_super2
- Bu özellik, süperblok ve blok grubu
tanıtıcılarının en fazla iki
yedeği olacağını gösterir. Yedek
süperblok(lar)ı ve blok grubu
tanıtıcı(lar)ını depolamak için
kullanılan blok grupları süperblokta saklanır,
ancak genelde bir süperblok dosya sisteminin 1. blok grubunun
başlangıcında saklanırken diğeri ise
dosya sisteminin son blok grubunda yer alır. Bu özellik
aslında sparse_super’in daha uç bir
çeşidi olup veri dosyaları için
kullanılan bitişik blokların diskin daha
büyük bir yüzdesini kaplamasına izin verecek
şekilde tasarlanmıştır.
- stable_inodes
- Dosya sisteminin dosya düğümü
numaralarını ve UUID’yi kararlı olarak imler.
Bu özellikli bir dosya sisteminin daraltılmasına
resize2fs(8) ve UUID’sinin değiştirilmesine de
tune2fs(8) izin vermez. Bu özellik, dosya
düğüm numaralarını ve UUID’yi
kullanan özel şifreleme özelliklerinin
kullanılmasına izin verir. Şifreleme
özelliğinin yine de ayrıca etkinleştirilmesi
gerektiği unutulmamalıdır. stable_inodes eski
çekirdeklerde kullanılabilen geriye uyumlu bir
özelliktir.
- uninit_bg
- Bu ext4 dosya sistemi özelliği, blok grubu
tanıtıcılarının sağlama
toplamları kullanılarak korunacağını ve
böylece mke2fs(8)’nin tüm blok
gruplarını ilklendirmeden bir dosya sisteminin
oluşturmasını güvenli hale getireceğini
belirtir. Çekirdek, kullanılmayan
düğümleri için bu sağlama
toplamlarını tutacak ve düğüm
tablolarını ve bloklarını yavaş
yavaş ilkendirecektir. Bu özellik, e2fsck(8)
kullanılarak dosya sisteminin denetlenme süresini
hızlandırır ve ayrıca dosya sistemini
oluştururken mke2fs(8) için gereken süreyi de
kısaltır.
- verity
- Doğruluk korumalı dosyalar için
desteği etkinleştirir. Doğruluk korumalı
dosyalar salt okunurdur ve verileri, dosyanın sonunda
gizlenmiş bir Merkle ağacı kullanılarak
şeffaf bir şekilde doğrulanır. Merkle
ağacının kök aşı
kullanılarak, bir doğruluk korumalı dosyanın
kimliği, dosyanın boyutundan bağımsız
olarak verimli bir şekilde doğrulanabilir.
Bu özellik, oku-yaz dosya sistemlerinde önemli salt okunur
dosyaların kimliğini doğrulamak için
çok kullanışlıdır. Dosya sisteminin
kendisi salt okunursa, tüm blok aygıtının
kimliğini doğrulamak için dm-verity kullanmak
çok daha iyi güvenlik sağlayabilir.
Bu bölümde, ext2, ext3 ve ext4’e özgü
bağlama seçenekleri
açıklanmıştır. Diğer genel
bağlama seçenekleri de kullanılabilir;
ayrıntılar için bkz:
mount(8)
’ext2’ dosya sistemi standart Linux dosya sistemidir. Linux
çekirdeğinin 2.5.46 sürümünden beri,
çoğu bağlama seçeneği için
öntanımlılar dosya sisteminin süper bloğu
tarafından belirlenir. Bunlar
tune2fs(8) ile
tanımlanabilir.
-
acl|noacl
- POSIX Erişim Denetim Listeleri
desteklenir|desteklenmez. Bkz: acl(5) kılavuz
sayfası.
-
bsddf|minixdf
-
statfs(2) sistem
çağrısının
davranışını belirler. minixdf
davranışı, dosya sisteminin toplam blok
sayısının statfs
yapısının f_blocks alanında
döndürülmesi, bsddf
davranışı ise
(öntanımlıdır), ext2 dosya sistemi
tarafından dosya depolama için kullanılamayan ek
blokların döndürülen toplam blok
sayısından
çıkarılmasıdır. Örnek:
% mount /k -o minixdf; df /k; umount /k
Dosyasistemi 1K-blok Dolu Boş Kull% Bağlanılan yer
/dev/sda6 2630655 86954 2412169 3% /k
% mount /k -o bsddf; df /k; umount /k
Dosyasistemi 1K-blok Dolu Boş Kull% Bağlanılan yer
/dev/sda6 2543714 13 2412169 0% /k
- (Bu örneğin, /etc/fstab içinde
verilen seçeneklere komut satırı
seçeneklerinin eklenebileceğini gösterdiğine
dikkat edilmelidir)
-
check=none|nocheck
- Bağlama sırasında denetim
yapılmaz. Bu öntanımlı ve
hızlıdır. Örneğin sistem
önyüklemesi sırasında veya ertesinde bir
e2fsck(8) çağrısı
akıllıca olur. Öntanımlı olmayan
davranış desteklenmemektedir ( check=normal ve
check=strict seçenekleri kaldırıldı).
Ext2 ve ext3 dosya sistemleri için ext4 çekirdek
sürücüsü kullanılıyorsa, bu
bağlama seçeneklerinin desteklenmesi gerekmediği
unutulmamaldır.
- debug
- Her bağlama veya yeniden bağlama
sırasında hata ayıklama bilgileri
basılır.
-
errors={continue|remount-ro|panic}
- Bir hata saptandığında
davranışı belirler.
continue: Hatalar yok sayılır ve dosya sistemi hatalı
olarak imlenir.
remount-ro: Dosya sistemi yeniden salt okunur olarak bağlanır.
panic: Panikleyip sistem kapatılır.
Öntanımlı davranış dosya sisteminin
süper bloğuna yazılır ve tune2fs(8)
kullanılarak değiştirilebilir.
-
grpid|bsdgroups ve
nogrpid|sysvgroups
- Bu seçenekler, yeni oluşturulan bir
dosyanın hangi grup kimliğini alacağını
tanımlar. grpid seçeneğiyle
oluşturulduğu üst dizinin grup kimliğini
alır; aksi halde (öntanımlı) bsdgroups
ile üst dizin setgid bitlerine sahip olmadığı
sürece mevcut sürecin dosya sistemi grup kimliğini
alır, üst dizin setgid bitlerine sahipse üst dizinin
grup kimliğini alır ve ayrıca kendisi dizin ise
üst dizinin setgid bitlerini de alır.
-
grpquota|noquota|quota|usrquota
-
usrquota (quota ile aynıdır)
bağlama seçeneği dosya sisteminde
kullanıcı kotası desteğini etkin kılar.
grpquota bağlama seçeneği ise grup
kotası desteğini etkin kılar. Kota sistemini
gerçekten etkin kılmak ve yönetmek için kota
araçları gerekir.
- nouid32
- 32 bitlik kullanıcı ve grup kimliklerini
devre dışı bırakır. Bu, yalnızca
16 bitlik değerleri saklayan ve bekleyen eski çekirdeklerle
birlikte çalışabilirlik içindir.
-
oldalloc veya orlov
- Yeni dosya düğümleri için eski
yer ayırıcı veya Orlov yer
ayırıcı kullanılır. Orlov
öntanımıdır.
-
resgid=N|resuid=N
- Ext2 dosya sistemi boş alanın belli bir
miktarını yedek olarak ayırır
(öntanımlı olarak %5, bkz: mke2fs(8) ve
tune2fs(8)). Bu seçenekler yedek blokları kimin
kullanacağını belirler. (Kabaca: Belirtilen
kullanıcı kimlik kime aitse o veya belirtilen grup kimlik
kimlere aitse onlar.)
-
sb=N
- Normal süper blok yerine numarası N
olan süper blok kullanılır. Bu seçenek
normalde birincil süper blok bozulduğunda
kullanılır. Yedek süper blokların yerleri
dosya sisteminin blok boyuna, her gruptaki blok sayısına ve
sparse_super gibi özelliklere bağlıdır.
mke2fs(8)’in dosya sistemini tutarlı değerlerle
(örneğin, blok boyutu, gruptaki blok sayısı,
sparse_super, vb.)
yapılandırıldığı
varsayımıyla, süper blokların yerleri
mke2fs(8) komutunun -n seçeneği ile
çıktılanarak ek yedek süper blokların
yerleri saptanabilir.
Buradaki bloklar 1 kilobaytlık birimlerden oluşur. Yani, 4
kilobaytlık bloklardan 32768 mantıksal blok ile
oluşturulmuş bir dosya sisteminde "
sb=131072" olur (yedek süper bloğun dosya
sisteminin son bloğuna yerleştirilmesi nedeniyle).
-
user_xattr|nouser_xattr
- "user." ile başlayan
gelişmiş öznitelikler desteklenir|desteklenmez.
Ext3 dosya sistemi, günlük kayıtlı ext2 dosya
sistemidir. Ext2 ile aynı seçenekleri ve ek olarak
aşağıdakileri destekler:
-
journal_dev=aygıtno|journal_path=yol
- Harici günlükleme
aygıtının
büyük/küçük aygıt
numaraları değiştiğinde, bu seçenekler
kullanıcının yeni günlük konumunu
belirlemesine olanak tanır. Günlük
aygıtı, aygıtno ile kodlanmış
yeni büyük/küçük aygıt
numaraları aracılığıyla veya
aygıta giden bir yol
aracılığıyla tanımlanır.
-
norecovery|noload
- Günlüğü dosya sistemini
bağlarken yüklemez. Dosya sistemi temiz şekilde
ayrılmamışsa, günlüğün
geri yüklenmesinin atlanırsa, bunun dosya sisteminde bir
takım sorunlara yol açabilecek tutarsızlıklara
sebep olabileceği unutulmamalıdır.
-
data={journal|ordered|writeback}
- Dosya verileri için günlükleme kipini
belirler. Meta veriler daima günlüğe kaydedilir.
Kök dosya sisteminde ordered dışındaki kipleri
kullanmak için, kip önyükleme girdisi olarak
çekirdeğe aktarılabilir (örn,
rootflags=data=journal).
- journal
- Tüm veriler, ana dosya sistemine yazılmadan
önce günlüğe kaydedilir.
- ordered
- Bu öntanımlı kiptir. Tüm
veriler, meta veriler günlüğe kaydedilmeden
önce doğrudan ana dosya sistemine yazılmaya
çalışılır.
- writeback
- Veri sıralaması korunmaz – veriler,
meta veriler günlüğe işlendikten sonra ana
dosya sistemine yazılabilir. Bunun en verimli
çıktılama seçeneği olduğuna dair
bir rivayet vardır. Dahili dosya sistemi
bütünlüğünü garanti eder, ancak
bir çökme ve günlüklü kurtarma
sonrasında eski verilerin dosyalarda görünmesi
olasılığı da vardır.
-
- data_err=ignore
- ordered kipte bir dosyanın veri tamponunda bir hata
oluşursa, sadece hata iletisini basar.
- data_err=abort
- ordered kipte bir dosyanın veri tamponunda bir hata
oluşursa, günlüklemeden
çıkılır.
-
barrier=0|barrier=1
- Bu, jbd kodunda yazma engellerinin
kullanımını devre dışı
bırakır|etkinleştirir. barrier=0 devre
dışı bırakır, barrier=1
etkinleştirilir (öntanımlıdır). Bu
aynı zamanda engelleri destekleyebilen bir G/Ç
yığıtı da gerektirir ve jbd bir engel
yazılırken bir hata alırsa, bir uyarı ile
engelleri tekrar devre dışı bırakır.
Yazma engelleri, günlük teslimatların disk
üzerinde uygun şekilde sıralanmasını
zorlayarak, geçici disk yazma önbelleklerinin
kullanımını bir miktar başarım
düşüşüyle güvenli hale getirir.
Diskleriniz batarya ile besleniyorsa, engelleri devre
dışı bırakmak başarımı
güvenli bir şekilde artırabilir.
-
commit=SÜRE
- Günlükleme SÜRE saniyede bir
yapılır. 5 saniye öntanımlıdır.
0 değeri öntanımlı değerin
geçerli olacağı anlamına gelir.
- user_xattr
- Gelişmiş kullanıcı
öznitelikleri etkin olur. Bkz: attr(5)
-
jqfmt={vfsold|vfsv0|vfsv1}
- Eski kota sisteminin (ext2’deki jqfmt=vfsold,
yani kotanın 1. sürümünün) yanı
sıra ext3 günlüklü kotaları da
(kotanın 2. sürümü) desteklenir.
jqfmt=vfsv0 veya jqfmt=vfsv1 seçeneği
günlüklü kotaları etkinleştirir.
Günlüklü kotaların getirisi, bir
çökmeden sonra bile kota denetiminin gerekmemesidir.
Kotalı dosya sistemi özelliği
etkinleştirildiğinde, günlüklü kotalar
otomatik olarak kullanılır ve bu bağlama
seçeneği yok sayılır.
-
usrjquota=aquota.user|grpjquota=aquota.group
- Günlüklü kotalar için
(jqfmt=vfsv0 veya jqfmt=vfsv1), kota sistemine
kullanılacak kota veritabanı dosyalarının
hangileri olacağı usrjquota=aquota.user ve
grpjquota=aquota.group bağlama seçenekleri ile
belirtilir.
Ext4 dosya sistemi, büyük dosya sistemini desteklemek için
ölçeklenebilirlik ve güvenilirlik geliştirmelerini
içeren, ext3 dosya sisteminin genişletilmiş üst
sürümüdür.
journal_dev, journal_path, norecovery, noload, data, commit, orlov, oldalloc,
[no]user_xattr, [no]acl, bsddf, minixdf, debug, errors, data_err, grpid,
bsdgroups, nogrpid, sysvgroups, resgid, resuid, sb, quota, noquota, nouid32,
grpquota, usrquota, usrjquota, grpjquota ve
jqfmt
seçenekleri ext3 veya ext2 ile geriye yönelik uyumludur.
-
journal_checksum|nojournal_checksum
-
journal_checksum, günlükleme
işlemlerinde sağlama toplamlarına olanak
tanır. Bu, e2fsck(8)’da kurtarma koduna izin verir ve
çekirdeğin, çekirdekteki bozulmayı
algılamasını sağlar. Geriye uyumlu bir
değişikliktir ve eski çekirdekler tarafından
yok sayılır.
- journal_async_commit
- Teslimat bloğu, tanımlayıcı
bloklar beklenmeden diske yazılabilir. Etkinleştirilirse,
eski çekirdekler aygıtı bağlayamaz. Bu, dahili
olarak journal_checksum seçeneğini
etkinleştirir.
-
barrier=0|barrier=1|barrier|nobarrier
- Bu bağlama seçenekleri, ext3’teki
seçenek ile aynı etkiye sahiptir. Diğer ext4
bağlama seçenekleriyle tutarlı olması
için barrier ve nobarrier seçenekleri
eklenmiştir.
Ext4 dosya sisteminde engeller öntanımlı olarak
etkindir.
-
inode_readahead_blks=N
- Ext4’ün dosya
düğümü tablosunu ileri doğru okuma
algoritmasının tampon önbelleğine
önceden okuyacağı azami dosya
düğümü tablosu bloklarının
sayısını belirler. Değer 2’nin
üsteli olmalıdır. Öntanımlı
değer 32 bloktur.
-
stripe=N
-
mballoc’un ayırma boyutu ve hizalama
için kullanmaya çalışacağı dosya
sistemi bloklarının sayısı. RAID 5/6
sistemleri için, (veri disklerinin sayısı) * (blok
sayısı olarak RAID bölütünün
boyu) olmalıdır.
- delalloc
- Blok tahsisini yazma zamanına kadar erteler.
- nodelalloc
- Gecikmeli tahsis devre dışı
bırakılır. Veri kullanıcı
önbelleğinden sayfa önbelleğine
kopyalanınca, bloklar tahsis edilir.
-
max_batch_time=µSANİYE
- Ek dosya sistemi işlemlerinin
eşzamanlı bir yazma işlemiyle birlikte toplu hale
getirilmesi için ext4’ün beklemesi gereken
mikrosaniye cinsinden azami süre. Eşzamanlı
(sırasını bekleyen) bir yazma işlemi bir
teslimatı ve ardından
girdi/çıktının tamamlanmasını
beklemeyi gerektirdiğinden, çok maliyetli
olmayacağı ve büyük bir verim kazancı
sağlayabileceği için, eşzamanlı yazma
işlemini üstlenebilecek başka bir aktarım olup
olmadığını görmek için
kısa bir süre bekletilir. Kullanılan algoritma, bir
aktarımın teslimatı için geçen
süreyi (ortalama olarak) ölçerek diskin
hızını otomatik olarak ayarlamak üzere
tasarlanmıştır. Bu zaman, "teslimat
zamanı" olarak adlandırılır.
Aktarım süresi, teslimat süresinden azsa, ext4,
işleme başka aktarımların
katılıp katılmayacağını
görmek için teslimat süresi tamamlanana dek
uyumayı dener. max_batch_time teslimat süresini
öntanımlı olarak 15000 µs (15 ms) ile
sınırlandırılır. Bu en iyileme,
max_batch_time seçeneğine 0 atanarak tamamen
kapatılabilir.
-
min_batch_time=µSANİYE
- Bu seçenek (yukarıda açıklanan)
teslimat süresinin asgarisini belirler. 0 (sıfır)
mairosaniye öntanımlıdır. Bu değerin
arttırılması çok evreliliğin,
çok hızlı disklerdeki eşzamanlı
iş yüklerinin verimini artan gecikme pahasına
arttırabilir.
-
journal_ioprio=ÖNCELİK
- Bir teslimat sırasında kjournald2
tarafından gönderilen G/Ç işlemleri
için kullanılan G/Ç önceliği (0 ila 7
arası, 0 ÖNCELİK en yüksek
önceliktir). Öntanımlı değer 3 olup
öntanımlı G/Ç önceliğinden biraz
daha yüksektir.
- abort
- Hata ayıklama amacıyla ext4_abort()
çağrısını taklit eder. Bu normalde,
zaten bağlı bir dosya sistemini yeniden bağlarken
kullanlılır.
-
auto_da_alloc|noauto_da_alloc
- Birçok bozuk uygulama, mevcut dosyaları
fd = open("foo.new")/write(fd,...)/close(fd)/ rename("foo.new", "foo")
- veya daha kötüsü
fd = open("foo", O_TRUNC)/write(fd,...)/close(fd).
- gibi kalıplarla değiştirirken
fsync(2) çağrısını kullanmaz.
auto_da_alloc etkinse, ext4,
yeniden-adlandırarak-değiştir ve
kırparak-değiştir kalıplarını
algılayacak ve gecikmeli tahsis bloklarının tahsisini
zorlayacaktır, öyle ki bir sonraki günlük
teslimatında, öntanımlı data=ordered
kipinde, yeni dosyanın veri bloklarının
rename(2) işleminden önce diske teslimatı
zorlanacaktır. Bu, ext3 ile kabaca aynı seviyede garanti
sağlar ve gecikmeli tahsis blokları diske zorlanmadan
önce sistem çöktüğünde ortya
çıkabilecek "sıfır uzunluk" sorununu
önler.
- noinit_itable
- İlklendirilmemiş dosya
düğümü tablosu blokları artalanda
ilklendirilmez. Bu özellik, kurulum işleminin
olabildiğince çabuk tamamlanabilmesi için kurulum
CD’leri tarafından kullanılabilir; dosya
düğümü tablosunun ilklendirilmesi, dosya
sisteminin bir sonraki bağlanmasına kadar ertelenir.
-
init_itable=N
- Tembel dosya düğümü tablosu
ilklendirme kodu, önceki blok grubunun dosya
düğümü tablosunu sıfırlamak
için geçen milisaniye cinsinden sürenin N
katı bekler. Bu, dosya sisteminin dosya
düğümü tablosu ilklendirilirken ortalama
sistem yükünü en aza indirir.
-
discard|nodiscard
- Bloklar serbest bırakılırken
ext4’ün ilgili blok aygıtına
devre-dışı-bırak/kırparak-değiştir
komutları verip vermeyeceğini belirler. Bu, SSD
aygıtları ve seyrek/ince olarak sağlanan
LUN’lar için kullanışlıdır,
ancak yeterli sınama yapılıncaya kadar
öntanımlı olarak etkin değildir.
-
block_validity|noblock_validity
- Bu seçenek, dahili veri yapıları
içinde yer alan dosya sistemi meta veri bloklarını
izlemek için çekirdek içi oluşumu
etkinleştirir veya devre dışı
bırakır. Bu, çoklu blok
ayırıcının ve diğer yordamların,
dosya sistemi meta veri bloklarıyla
örtüşebilecek genişletilmiş
ağaçları hızlı bir şekilde
bulmasını sağlar. Bu seçenek hata
ayıklama amaçlıdır ve
başarımı olumsuz etkilediği için
öntanımlı olarak etkin değildir.
-
dioread_lock|dioread_nolock
- Ext4’ün doğrudan G/Ç okuma
kilidini kullanıp kullanmayacağını belirler.
dioread_nolock seçeneği belirtilirse, ext4, tampona
yazmadan önce ilklendirilmemiş genişletilmiş
ağaca yer tahsis eder ve G/Ç tamamlandıktan sonra
genişletilmiş ağacı ilklendirilmiş
ağaca dönüştürür. Bu
yaklaşım, ext4 kodunun yüksek hızlı
depolamalarda ölçeklenebilirliği artıran dosya
düğümü mutekslerini kullanmaktan
kaçınmasını sağlar. Ancak bu, veri
günlükleme ile çalışmaz ve
çekirdek uyarısıyla dioread_nolock
seçeneği yok sayılır. dioread_nolock
seçeneğinin yalnızca genişletilmiş
ağaç tabanlı dosyalar için
kullanıldığı unutulmamalıdır. Bu
seçenekler içerdikleri kısıtlamalar nedeniyle
öntanımlı olarak etkin değildir.
(örneğin, dioread_lock).
-
max_dir_size_kb=N
- Dizin boyutunu sınırlar, böylece
N kilobaytlık sınırın ötesine
genişletme girişimi ENOSPC hatasına neden
olur. Bu, çok büyük bir dizinin ciddi
başarım kaybına neden olabileceği ve hatta
"yetersiz bellek katili"ni tetikleyebileceği,
belleğin kısıtlı olduğu ortamlarda
kullanışlıdır. (Örneğin,
yalnızca 512 MB kullanılabilir bellek varsa, 176
MB’lık bir dizin, sistemde ciddi kramplara yol
açabilir.)
- i_version
- 64 bitlik dosya düğümü
sürümü desteğini etkinleştirir;
öntanımlı olarak etkin değildir.
- nombcache
- Bu seçenek, genişletilmiş
öznitelik tekilleştirmesi için mbcache
kullanımını devre dışı
bırakır. Genişletilmiş özniteliklerin
dosyalar arasında nadiren
paylaşıldığı veya hiç
paylaşılmadığı sistemlerde, veri
tekilleştirme için mbcache kullanımı hesaplama
yükünü gereksiz yere arttırır.
- prjquota
- Dosya sisteminde proje kotası desteğini
etkinleştirir. Kota sistemini gerçekten
etkinleştirmek ve yönetmek için kota
araçlarına ihtiyacınız vardır. Bu
bağlama seçeneği, project dosya sistemi
özelliğinin etkin olmasını gerektirir.
- fast_commit
-
fsync(2) gecikmesini iyileştirmek için
hızlı gönderi günlük kaydı
özelliğini etkinleştirir.
ext2, ext3 ve ext4 dosya sistemleri, Linux sistemlerinde
chattr(1) komutu
ile aşağıdaki dosya özniteliklerini destekler:
a - yalnızca sona ekle
A - erişim zamanı güncellenmez
d - dosya dump uygulamasından etkilenmez
D - dizin güncellemelerini eşzamanlı olur
i - dosya değiştirilemez
S - synchronous updates
u - dosya silinince kurtarılabilir
Ek olarak, ext3 ve ext4 dosya sistemleri şu seçeneği
destekler::
j - dosya sistemi günlüklemesi yapılır
Son olarak, ext4 dosya sistemi şu seçeneği destekler:
e - blokları eşlemek için uzantılar kullanılır
Bu dosya özniteliklerinin açıklamaları
chattr(1) kılavuz sayfasında bulunabilir.
Bu bölümde, belirli bir dosya sistemi özelliğinin
desteklendiği dosya sistemi sürücüsü
(örneğin, ext2, ext3, ext4) ve desteklendiği
çekirdek sürümü listelenmiştir. Bazı
durumlarda özelliğin erken çekirdek
sürümlerinde de mevcut olduğu, ancak bilinen ciddi
yazılım hatalarının da bulunduğu
unutulmamalıdır. Diğer durumlarda, özellik hala
deneysel durumda kabul edilebilir. Son olarak, bazı
dağıtımların desteklenmiş
özelliklere sahip eski çekirdekler içerebileceği
unutulmamalıdır; özellikle belirli "enterprise"
dağıtımlardaki çekirdek sürümleri
son derece yanıltıcı olabilir.
Özellik |
Dosya Sistemi |
Çekirdek Sürümü |
filetype |
ext2 |
2.2.0 |
sparse_super |
ext2 |
2.2.0 |
large_file |
ext2 |
2.2.0 |
has_journal |
ext3 |
2.4.15 |
ext_attr |
ext2/ext3 |
2.6.0 |
dir_index |
ext3 |
2.6.0 |
resize_inode |
ext3 |
2.6.10 (çevrimiçi yeniden boyutlandırma) |
64bit |
ext4 |
2.6.28 |
dir_nlink |
ext4 |
2.6.28 |
extent |
ext4 |
2.6.28 |
extra_isize |
ext4 |
2.6.28 |
flex_bg |
ext4 |
2.6.28 |
huge_file |
ext4 |
2.6.28 |
meta_bg |
ext4 |
2.6.28 |
uninit_bg |
ext4 |
2.6.28 |
mmp |
ext4 |
3.0 |
bigalloc |
ext4 |
3.2 |
quota |
ext4 |
3.6 |
inline_data |
ext4 |
3.8 |
sparse_super2 |
ext4 |
3.16 |
metadata_csum |
ext4 |
3.18 |
encrypt |
ext4 |
4.1 |
metadata_csum_seed |
ext4 |
4.4 |
project |
ext4 |
4.5 |
ea_inode |
ext4 |
4.13 |
large_dir |
ext4 |
4.13 |
casefold |
ext4 |
5.2 |
verity |
ext4 |
5.4 |
stable_inodes |
ext4 |
5.5 |
fast_commit |
ext4 |
5.10 |
mke2fs(8),
mke2fs.conf(5),
e2fsck(8),
dumpe2fs(8),
tune2fs(8) debugfs(8),
mount(8),
chattr(1).
Telif hakkı ©1993, 1994, 1995 Theodore Ts’o
Lisans GPLv2+: GNU GPL sürüm 2 veya üstü
<
http://gnu.org/licenses/gpl.html> Bu bir özgür
yazılımdır: Yazılımı
değiştirmek ve dağıtmakta
özgürsünüz. Yasaların izin verdiği
ölçüde HİÇBİR GARANTİ YOKTUR.
© 2022 Nilgün Belma Bugüner
Bu çeviri özgür yazılımdır:
Yasaların izin verdiği ölçüde
HİÇBİR GARANTİ YOKTUR.
Lütfen, çeviri ile ilgili bildirimde bulunmak veya çeviri
yapmak için
https://github.com/TLBP/manpages-tr/issues adresinde
"New Issue" düğmesine tıklayıp yeni bir
konu açınız ve isteğinizi belirtiniz.