Laut Handbuch:
mount_opts=mount_option_string
Set a set of default mount options which will be used when the file
system is mounted. Unlike the bitmask-based default mount options
which can be specified with the -o option, mount_option_string is an
arbitrary string with a maximum length of 63 bytes, which is stored in
the superblock.
Wenn ich versuche, eine einzelne Option festzulegen, funktioniert es:
$ tune2fs -E mount_opts=data=writeback /dev/sde2
tune2fs 1.43.5 (04-Aug-2017)
Setting extended default mount options to 'data=writeback'
Wenn ich jedoch versuche, mehrere Optionen festzulegen, scheint es zu Konflikten mit dem tune2fs
eigenen Analysemechanismus zu kommen:
$ tune2fs -E mount_opts=data=writeback,noatime /dev/sde2
tune2fs 1.43.5 (04-Aug-2017)
Bad options specified.
Extended options are separated by commas, and may take an argument which
is set off by an equals ('=') sign.
Valid extended options are:
clear_mmp
hash_alg=<hash algorithm>
mount_opts=<extended default mount options>
stride=<RAID per-disk chunk size in blocks>
stripe_width=<RAID stride*data disks in blocks>
test_fs
^test_fs
Wie übergebe ich eine Zeichenfolge mit mehreren Optionen an „mount_opts“?
Antwort1
Wie Thomas sagt, sparated by commas
dient es zur erweiterten Optionentrennung. mount_opts
Die Optionentrennung erfolgt jedoch auch mit ,
(siehe Linux-Kernel fs/ext4/super.c:parse_options()
), und ab dieser Antwort e2fsprogs
'mke2fs
Und tune2fs
gelingt es nicht, das eine semantisch vom anderen zu unterscheiden.
AMail-Austausch mit Theodore Y. Ts'o enthüllt:
Ja, das ist ein Mangel von tune2fs.
Es gibt keine Syntax, um dies mit den üblichen ext
Manipulationstools zu erreichen. Ts'o empfiehlt stattdessen debugfs
als Workaround:
Sie können erweiterte Mount-Optionen mit debugfs festlegen:
debugfs -w -R "set_super_value mount_opts foo,bar" /dev/sda1
In diesem Fall bräuchten Sie debugfs -w -R "set_super_value mount_opts data=writeback,noatime" /dev/sde2
, aberDies hat nicht den erwarteten Effekt.
Beim Mounten ext4
beschwert sich das Kernelmodul über ein Unrecognized mount option "noatime" or missing value
; tatsächlich ist es nur möglich, ext
-spezifische Optionen anzugeben, und noatime
ist nicht (siehe dieselbe Kernel-Quelldatei, die verfügbaren Optionen sind im tokens
Array aufgelistet). Die funktional beste Entsprechung istlazytime
.
Verwenden Sie also debugfs -w -R "set_super_value mount_opts data=writeback,lazytime" /dev/sde2
.
Antwort2
Dies sparated by commas
bezieht sich auf die verschiedenen erweiterten Optionen wie clear_mmp
, hash_alg
, mount_opts
usw.
Die korrekte Syntax wäre also wie folgt.
tune2fs -E mount_opts="data=writeback noatime" /dev/sde1