transserg 08.03.2011 17:18
Есть вопрос! — aufs внести изменения на диск
привет всем. озадачился вопросом. как из aufs внести изменения на диск?смонтировано все так
fstab:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
LABEL=SYSTEM / ext2 defaults,noatime,errors=remount-ro,nodiratime,ro 0 1
#tmpfs /etc/network/run tmpfs defaults,noatime 0 0
# монтируем диры с конфигами
tmpfs /configs/etc tmpfs defaults,noatime 0 0
/configs/etc /etc aufs nodev,noatime,dirs=/configs/etc=rw:/etc=ro 0 0
tmpfs /configs/lib tmpfs defaults,noatime 0 0
/configs/lib /lib aufs nodev,noatime,dirs=/configs/lib=rw:/lib=ro 0 0
tmpfs /configs/usr tmpfs defaults,noatime 0 0
/configs/usr /usr aufs nodev,noatime,dirs=/configs/usr=rw:/usr=ro 0 0
LABEL=DATA /home/flash/Documents vfat quiet,utf8,uid=1000,quiet 0 0
# монтируем сидиром
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
# временные директории
tmpfs /var/run tmpfs defaults,noatime 0 0
tmpfs /var/lock tmpfs defaults,noatime 0 0
tmpfs /var/log tmpfs defaults,noatime 0 0
tmpfs /var/tmp tmpfs defaults,noatime 0 0
tmpfs /var/cache/apt/archives tmpfs defaults,noatime 0 0
tmpfs /tmp tmpfs defaults,noatime 0 0
tmpfs /home/flash/tmpWorkDir tmpfs defaults,noatime 0 0
во время работы может быть что то изменено в etc var lib или usr. требуется сделать так чтоб при надобности все изменения записать на диск.
корень смотнтирован в ro
andreas 08.03.2011 23:39 #
+ 0 -
Сразу скажу, я только что узнал о aufs, но это вроде то, что я давно искал, что-то похожее на EWF в XP Embedded. Поэтому почитал мануал. Если я правильно понял, то все изменения в (например) /etc у тебя будут ложиться в /configs/etc. Т.е. при необходимости запомнить изменения, их надо оттуда скопировать в настоящий /etc. Надеюсь тут есть гуру которые поправят если что. От меня плюс за наводку на aufs!
Да да надо скопировать изменения. но их не получается копировать так как они копируются сами на себя в директорию /configs/* =)
блин, случайно нажатые Tab и Пробел...
* в другую директорию, скопируй нужный файл, отмонтируй.
* в другую директорию, скопируй нужный файл, отмонтируй.
перемонтирую корень в rw но это не помогает ибо
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
LABEL=SYSTEM / ext2 defaults,noatime,errors=remount-ro,nodiratime,ro 0 1
#tmpfs /etc/network/run tmpfs defaults,noatime 0 0
# монтируем диры с конфигами
tmpfs /configs/etc tmpfs defaults,noatime 0 0
/configs/etc /etc aufs nodev,noatime,dirs=/configs/etc=rw:/etc=ro 0 0
tmpfs /configs/lib tmpfs defaults,noatime 0 0
/configs/lib /lib aufs nodev,noatime,dirs=/configs/lib=rw:/lib=ro 0 0
tmpfs /configs/usr tmpfs defaults,noatime 0 0
/configs/usr /usr aufs nodev,noatime,dirs=/configs/usr=rw:/usr=ro 0 0
Блин, лень разбираться в хитросплетениях... Возможно я не понял сути aufs и этого всего загона, но может сделать
Или ,если в /etc писать нельзя - то просто
cp /etc/bla-bla $HOME/bla-bla && umount /etc && cp $HOME/bla-bla /etc/bla-bla && mount /etc
Или ,если в /etc писать нельзя - то просто
umount /etc && cp vim /etc/bla-bla && mount /etc
umount /etc
срабатывает. изменения копируются но через раз. почему так не знаю. для остальных директорий умоунт не работает сообщает что устройство занято.гуглю дальше..
сейчас наткнулся вот на это rootaufs но этот скрипт ни в какую не хочет работать. но это направление в котором стоит покопаться.
Вот как я сделал:
#создаем overlay-папку, куда будут писаться изменения
mkdir -p /.filesystems/usr1/overlay
#Создаем сжатый образ /usr
mksquashfs /usr /.filesystems/usr1/usr.sqfs
#В файл /etc/fstab добавляем точки
/.filesystems/usr1/usr.sqfs /usr squashfs ro,loop,nodev 0 0
aufs /usr aufs nodev,noatime,dirs=/.filesystems/usr1/overlay=rw:/usr=ro 0 0
Если нужно внести изменения, то делаем всё тоже самое, но меняя usr1 на usr2. После этого - перезагрузка. Теперь можно удалить каталог с usr1.
Следующие изменения - по аналогии!
Enjoy!
#создаем overlay-папку, куда будут писаться изменения
mkdir -p /.filesystems/usr1/overlay
#Создаем сжатый образ /usr
mksquashfs /usr /.filesystems/usr1/usr.sqfs
#В файл /etc/fstab добавляем точки
/.filesystems/usr1/usr.sqfs /usr squashfs ro,loop,nodev 0 0
aufs /usr aufs nodev,noatime,dirs=/.filesystems/usr1/overlay=rw:/usr=ro 0 0
Если нужно внести изменения, то делаем всё тоже самое, но меняя usr1 на usr2. После этого - перезагрузка. Теперь можно удалить каталог с usr1.
Следующие изменения - по аналогии!
Enjoy!
Вот такой скрипт поможет это сделать -
если /usr уже пожата , то получим слепок с новыми изменениями , если нет - то пожатую систему ...
Ядро должно быть с поддержкой aufs !!!
если /usr уже пожата , то получим слепок с новыми изменениями , если нет - то пожатую систему ...
Ядро должно быть с поддержкой aufs !!!