Bug 31507

Summary: не работает при отдельном /tmp с noexec
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: installerAssignee: Michael Shigorin <mike>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: antohami, boyarsh, klark, legion, mike, rider, sem, yukh
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 30940, 31695    

Description Michael Shigorin 2015-11-17 13:30:39 MSK
Пишут, что:

---
Не перезагружаясь пытаюсь запустить руками 50-initrd.sh еще раз и получаю:
chroot: failed to run command '/tmp/instkernel': permission denied
---

Далее выяснилось, что это отдельный /tmp, на который guile-evms по умолчанию должно предложить nosuid,nodev,noexec.
Comment 1 Yuri Khachaturyan 2015-11-17 13:33:41 MSK
Подтверждаю.
Что было сделано:
1. создан раздел /tmp на физическом диске с noexec.
2. в результате не отрабатывал 50-initrd.sh с ошибкой: chroot: failed to run command '/tmp/instkernel': permission denied
Comment 2 Anton Farygin 2015-11-17 14:20:36 MSK
/tmp с noexec не слишком смело ?
Comment 3 Alexey Gladkov 2015-11-17 14:31:11 MSK
Вставлю свои две копейки из предыдущего холивара: Слишком смело.
Comment 4 Michael Shigorin 2015-11-17 14:35:19 MSK
Для mc точно слишком смело, а вообще было бы неплохо такой вариант уметь.
Особенно если 50-initrd.sh -- это единственная загвоздка _в инсталере_.
Если же нет -- надо бы дополнить guile-evms::evms.scm::well-known-mountpoints ещё одним пунктом.

2 legion: а что за холивар? :)
Comment 5 Yuri Khachaturyan 2015-11-17 14:47:15 MSK
Если слишком смело, то почему инсталлер предлагает noexec по умолчанию при создании раздела?
Comment 6 Alexey Gladkov 2015-11-17 14:52:52 MSK
(В ответ на комментарий №4)
> Для mc точно слишком смело, а вообще было бы неплохо такой вариант уметь.
> Особенно если 50-initrd.sh -- это единственная загвоздка _в инсталере_.
> Если же нет -- надо бы дополнить guile-evms::evms.scm::well-known-mountpoints
> ещё одним пунктом.
> 
> 2 legion: а что за холивар? :)

Холивар был как раз из-за noexec на /tmp и make-initrd, а также других систем с генерацией кода. Для таких системам нет законнгого места, где можно создавать временные скрипты. В прошлый раз мы так и не определились, где гарантировано не может быть noexec и куда можно писать. Поэтому, например, в make-initrd появились вот эти проверки:

http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=make-initrd.in;h=780e4b350aeb92ce593ba2ddaec08469e4b0ccf0;hb=b9fd47d5f296f3700113bf7a30c4fbadfa981d86#l79

и возможность переопределения WORKDIR.