LINUX.ORG.RU

История изменений

Исправление pavlick, (текущая версия) :

Не попадают, как пример, только что делал:

/sandbox_root
  old
    bin,lib,sbin,usr,...
  up
  work
  install_sandbox

в old делаю mount --bind настоящего кореня. Далее
# mount -t overlay -olowerdir=old,upperdir=up,workdir=work overlay install_sandbox
# В up mount --bind устанавливаемой софтины.
# chroot /sandbox_root/install_sandbox/
# cd софтина && make install && cp ... && ln ...

только что поставил так gcc-8.2.0, в /sandbox_root/up получил полное дерево установленных файлов.
# find /sandbox_root/up/
usr/libexec
usr/libexec/gcc
usr/libexec/gcc/x86_64-pc-linux-gnu
usr/libexec/gcc/x86_64-pc-linux-gnu/8.2.0
usr/libexec/gcc/x86_64-pc-linux-gnu/8.2.0/cc1
...

Интересно то, что модификация корня напрямую (mkdir /q___ (не из chroot), например) или через /sandbox_root/old не отображается в /sandbox_root/up (видна только модификация через up или install_sandbox). Т.е old играет роль шаблона при создании образа install_sandbox во время mount. Ну возможно там есть какие-то опции для получения иного поведения, но дефолтно так.

Исправление pavlick, :

Не попадают, как пример, только что делал:

/sandbox_root
  old
    bin,lib,sbin,usr,...
  up
  work
  install_sandbox

в old делаю mount --bind настоящего кореня. Далее
# mount -t overlay -olowerdir=old,upperdir=up,workdir=work overlay install_sandbox
# В up mount --bind устанавливаемой софтины.
# chroot /install_sandbox/install_sandbox/
# cd софтина && make install && cp ... && ln ...

только что поставил так gcc-8.2.0, в /sandbox_root/up получил полное дерево установленных файлов.
# find /sandbox_root/up/
usr/libexec
usr/libexec/gcc
usr/libexec/gcc/x86_64-pc-linux-gnu
usr/libexec/gcc/x86_64-pc-linux-gnu/8.2.0
usr/libexec/gcc/x86_64-pc-linux-gnu/8.2.0/cc1
...

Интересно то, что модификация корня напрямую (mkdir /q___ (не из chroot), например) или через /sandbox_root/old не отображается в /sandbox_root/up (видна только модификация через up или install_sandbox). Т.е old играет роль шаблона при создании образа install_sandbox во время mount. Ну возможно там есть какие-то опции для получения иного поведения, но дефолтно так.

Исправление pavlick, :

Не попадают, как пример, только что делал:

/sandbox_root
  old
    bin,lib,sbin,usr,...
  up
  work
  install_sandbox

в old делаю mount --bind настоящего кореня. Далее
# mount -t overlay -olowerdir=old,upperdir=up,workdir=work overlay install_sandbox
# chroot /install_sandbox/install_sandbox/
# cd софтина && make install && cp ... && ln ...
# В up mount --bind устанавливаемой софтины.

только что поставил так gcc-8.2.0, в /sandbox_root/up получил полное дерево установленных файлов.
# find /sandbox_root/up/
usr/libexec
usr/libexec/gcc
usr/libexec/gcc/x86_64-pc-linux-gnu
usr/libexec/gcc/x86_64-pc-linux-gnu/8.2.0
usr/libexec/gcc/x86_64-pc-linux-gnu/8.2.0/cc1
...

Интересно то, что модификация корня напрямую (mkdir /q___ (не из chroot), например) или через /sandbox_root/old не отображается в /sandbox_root/up (видна только модификация через up или install_sandbox). Т.е old играет роль шаблона при создании образа install_sandbox во время mount. Ну возможно там есть какие-то опции для получения иного поведения, но дефолтно так.

Исходная версия pavlick, :

Не попадают, как пример, только что делал:

/sandbox_root
  old
    bin,lib,sbin,usr,...
  up
  work
  install_sandbox

в old делаю mount --bind настоящего кореня. В up mount --bind устанавливаемой софтины. Далее
# mount -t overlay -olowerdir=old,upperdir=up,workdir=work overlay install_sandbox
# chroot /install_sandbox/install_sandbox/
# cd софтина && make install && cp ... && ln ...

только что поставил так gcc-8.2.0, в /sandbox_root/up получил полное дерево установленных файлов.
# find /sandbox_root/up/
usr/libexec
usr/libexec/gcc
usr/libexec/gcc/x86_64-pc-linux-gnu
usr/libexec/gcc/x86_64-pc-linux-gnu/8.2.0
usr/libexec/gcc/x86_64-pc-linux-gnu/8.2.0/cc1
...

Интересно то, что модификация корня напрямую (mkdir /q___ (не из chroot), например) или через /sandbox_root/old не отображается в /sandbox_root/up (видна только модификация через up или install_sandbox). Т.е old играет роль шаблона при создании образа install_sandbox во время mount. Ну возможно там есть какие-то опции для получения иного поведения, но дефолтно так.