История изменений
Исправление Kroz, (текущая версия) :
В общем, покумекал я по твоей задаче... Я бы сделал так:
1. Если нужно не на этапе загрузки - формировал бы fstab каким-то простым скриптом, например:
#!/bin/sh
SUBVOL="root/orig"
FSTAB="
/proc /proc proc rw,nosuid,nodev,noexec 0 0
/dev/shm /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
/dev/cdrom /mnt/cdrom auto iocharset=utf8,users,noauto,owner,ro 0 0
LABEL=\"kroot82\" / reiserfs rw,acl,user_xattr,data=journal,barrier=flush,notail 0 0
LABEL=\"kswap82\" none swap sw 0 0
LABEL=\"kvar82\" /var reiserfs rw,noatime,nodiratime,notail 0 0
LABEL=\"khome82\" /home reiserfs rw,acl,user_xattr,data=journal,barrier=flush,notail 0 0
LABEL=\"data\" /mnt/data reiserfs ro,acl,user_xattr,data=journal,barrier=flush,notail 0 0
/dev/sda2 / btrfs noatime,ssd_spread,discard,compress=lzo,space_cache,subvol=$SUBVOL 0 0
/home/kroz/mine/archive/photos/my\040photos /home/ftp/photos none bind 0 0
"
echo "$FSTAB"
- вместо $SUBVOL подставится значение этой переменной, которое определено вверху. Можешь задавать вручную, а если есть правила, можно задавать автоматически.
- при копировании оригинального fstab в это скрипт, экранируй двойные кавычки, обратные косые, доллары
- скрипт выводит содержимое на экран (дабы было легко дебажить); чтобы получить из этого файл, перенаправь вывод в fstab . Только бекапы всегда делай.
2. Если это делать нужно на этапе загрузки, то добавил бы соотв. строки в /etc/init.d/localmount - загрузочный скрипт, который, собственно, отвечает за монтирование устройств во время загрузки. Скриптом как выше сказано нельзя, так как на момент запуска localmount у нас примонтирован только корень, и то read-only. Но, если очень нужно, здесь можно тоже поизгаляться. Но, если дело в одной строчке, я бы добавил что-то типа:
mount /dev/sda2 / -t btrfs -o noatime,ssd_spread,discard,compress=lzo,space_cache,subvol=root/orig
Вопросы? Комментарии? Пожелания?
Исправление Kroz, :
В общем, покумекал я по твоей задаче... Я бы сделал так:
1. Если нужно не на этапе загрузки - формировал бы fstab каким-то простым скриптом, например:
#!/bin/sh
SUBVOL="root/orig"
FSTAB="
/proc /proc proc rw,nosuid,nodev,noexec 0 0
/dev/shm /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
/dev/cdrom /mnt/cdrom auto iocharset=utf8,users,noauto,owner,ro 0 0
LABEL=\"kroot82\" / reiserfs rw,acl,user_xattr,data=journal,barrier=flush,notail 0 0
LABEL=\"kswap82\" none swap sw 0 0
LABEL=\"kvar82\" /var reiserfs rw,noatime,nodiratime,notail 0 0
LABEL=\"khome82\" /home reiserfs rw,acl,user_xattr,data=journal,barrier=flush,notail 0 0
LABEL=\"data\" /mnt/data reiserfs ro,acl,user_xattr,data=journal,barrier=flush,notail 0 0
/dev/sda2 / btrfs noatime,ssd_spread,discard,compress=lzo,space_cache,subvol=$SUBVOL 0 0
/home/kroz/mine/archive/photos/my\040photos /home/ftp/photos none bind 0 0
"
echo "$FSTAB"
2. Если это делать нужно на этапе загрузки, то добавил бы соотв. строки в /etc/init.d/localmount - загрузочный скрипт, который, собственно, отвечает за монтирование устройств во время загрузки. Скриптом как выше сказано нельзя, так как на момент запуска localmount у нас примонтирован только корень, и то read-only. Но, если очень нужно, здесь можно тоже поизгаляться. Но, если дело в одной строчке, я бы добавил что-то типа:
mount /dev/sda2 / -t btrfs -o noatime,ssd_spread,discard,compress=lzo,space_cache,subvol=root/orig
Вопросы? Комментарии? Пожелания?
Исходная версия Kroz, :
В общем, покумекал я по твоей задаче... Я бы сделал так: 1. Если нужно не на этапе загрузки - формировал бы fstab каким-то простым скриптом, например:
#!/bin/sh
SUBVOL="root/orig"
FSTAB="
/proc /proc proc rw,nosuid,nodev,noexec 0 0
/dev/shm /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
/dev/cdrom /mnt/cdrom auto iocharset=utf8,users,noauto,owner,ro 0 0
LABEL=\"kroot82\" / reiserfs rw,acl,user_xattr,data=journal,barrier=flush,notail 0 0
LABEL=\"kswap82\" none swap sw 0 0
LABEL=\"kvar82\" /var reiserfs rw,noatime,nodiratime,notail 0 0
LABEL=\"khome82\" /home reiserfs rw,acl,user_xattr,data=journal,barrier=flush,notail 0 0
LABEL=\"data\" /mnt/data reiserfs ro,acl,user_xattr,data=journal,barrier=flush,notail 0 0
/dev/sda2 / btrfs noatime,ssd_spread,discard,compress=lzo,space_cache,subvol=$SUBVOL 0 0
/home/kroz/mine/archive/photos/my\040photos /home/ftp/photos none bind 0 0
"
echo "$FSTAB"
2. Если это делать нужно на этапе загрузки, то добавил бы соотв. строки в /etc/init.d/localmount - загрузочный скрипт, который, собственно, отвечает за монтирование устройств во время загрузки. Скриптом как выше сказано нельзя, так как на момент запуска localmount у нас примонтирован только корень, и то read-only. Но, если очень нужно, здесь можно тоже поизгаляться. Но, если дело в одной строчке, я бы добавил что-то типа:
mount /dev/sda2 / -t btrfs -o noatime,ssd_spread,discard,compress=lzo,space_cache,subvol=root/orig
Вопросы? Комментарии? Пожелания?