Полагаю, лучшим способом было бы использовать augeas, который является отличным инструментом.С помощью augeas вы можете автоматически анализировать файлы конфигурации, добавлять / удалять / обновлять некоторые поля с помощью XPATH, который используется для навигации по XML.
Вы можете найти все поддерживаемые файлы конфигурации, которые augeas может правильно проанализировать, в следующемкаталог:
/usr/share/augeas/lenses/dist/
Один из файлов - это fstab.aug, который вам нужен.На самом деле вам ничего не нужно делать с этими файлами, это просто для того, чтобы вы знали, что augeas может делать то, что вы хотите:).
# ls /usr/share/augeas/lenses/dist/fstab.aug
/usr/share/augeas/lenses/dist/fstab.aug
Вы также можете посмотреть здесь более подробный пример об изменении/ etc / fstab через augeas.
Пример Augeas
Я думаю, вы можете использовать что-то вроде следующего:
# augtool
augtool> set /files/etc/fstab/1[file='/']/opt[1] "acl"
augtool> set /files/etc/fstab/1[file='/']/opt[2] "errors=remount-ro"
augtool> print /files/etc/fstab/1
/files/etc/fstab/1
/files/etc/fstab/1/spec = "/dev/mapper/system"
/files/etc/fstab/1/file = "/"
/files/etc/fstab/1/vfstype = "ext3"
/files/etc/fstab/1/opt[1] = "acl"
/files/etc/fstab/1/opt[2] = "errors=remount-ro"
/files/etc/fstab/1/dump = "0"
/files/etc/fstab/1/passno = "1"
augtool> save
Если вы хотитеиспользуя augeas в сценарии оболочки, вы можете просто вставить вышеупомянутые команды с ключевым словом augtool, поэтому, если вы хотите изменить первый 'opt' на 'acl', вы должны сделать:
augtool set /files/etc/fstab/1[file='/']/opt[1] "acl"
augtool set /files/etc/fstab/1[file='/']/opt[2] "errors=remount-ro"
augtool save
Посмотрите на оригинальные augeasстраница для более: Домашняя страница Augeas