Позволяет ли schroot перезаписывать файлы конфигурации в домашнем каталоге?
Когда schroot настроен для монтирования /home, будут ли пакеты, установленные внутри chroot, перезаписывать файлы конфигурации в $HOME?
Например, если внутри chroot установлена более новая версия gconf2, будет ли она перезаписывать $HOME/.gconf? Есть ли способ предотвратить это, сохраняя доступ к /home?
1 ответ
Когда / home монтируется с помощью schroot, все файлы конфигурации помещаются в $HOME базовой установки, независимо от того, принадлежат ли они к schroot.
Это может привести к перезаписи файлов конфигурации, когда установлены две версии пакета: одна в базовой установке, а другая в schroot.
Настройку schroot легко изменить так, чтобы ее файлы конфигурации были помещены в другой каталог, как показано в следующем примере.
Схрома для wheezy-amd64 находится в /var/schroot/wheezy-amd64. Этот конкретный schroot использует профиль "desktop", поэтому его точки монтирования определены в /etc/schroot/desktop/fstab.
Во-первых, создайте домашний каталог для пользователя внутри schroot,
mkdir /var/schroot/wheezy-amd64/home/$USERNAME
Во-вторых, замените следующую строку в /etc/schroot/desktop/fstab,
/home /home none rw,bind 0 0
с,
/home /HOME none rw,bind 0 0
Это все! Также удобно добавить псевдоним ~/.bash_aliases в базовой установке,
alias wheezy64='schroot -c wheezy-amd64 `/bin/echo "-d $PWD" | /bin/grep "^-d[ ]*\/home" | sed "s/home/HOME/"`'
Внутри schroot пользователь теперь видит две домашние директории:
- / home / $ USERNAME - домашний каталог schroot.
- / HOME / $ USERNAME является домашним каталогом базовой установки.